Commit Graph

45 Commits

Author SHA1 Message Date
Markus Reitböck
ba03cf1ed6 JtReader: use CMake to generate precompiled headers on all platforms
"Professional CMake" book suggest the following:

"Targets should build successfully with or without compiler support for precompiled headers. It
 should be considered an optimization, not a requirement. In particular, do not explicitly include a
 precompile header (e.g. stdafx.h) in the source code, let CMake force-include an automatically
 generated precompile header on the compiler command line instead. This is more portable across
 the major compilers and is likely to be easier to maintain. It will also avoid warnings being
 generated from certain code checking tools like iwyu (include what you use)."

Therefore, removed the "#include <PreCompiled.h>" from sources, also
there is no need for the "#ifdef _PreComp_" anymore
2025-09-24 20:08:55 +02:00
Markus Reitböck
c3805ecf4a fix duplicate include guards in precompiled headers 2025-09-23 00:51:00 +02:00
Markus Reitböck
749ac36615 do not use precompiled header for setting global compiler definitions and to disable compiler warnings
only 4 of these warnings are still relevant, CMake shall be used to disable them

Compiler definitions:

  NOMINMAX:
    * is already globally defined in SetGlobalCompilerAndLinkerSettings.cmake

  WIN32_LEAN_AND_MEAN:
    * use CMake target_compile_options on relevant targets

Warnings that still occur:

  C4251, C4273, C4275: all related to dllimport / export
    * use CMake target_compile_options on relevant targets

  C4661: no suitable definition provied for explicit template instantiation request
    * triggered in Mesh because of Vector3D in Base - not all functions are defined in header
    * use CMake target_compile_options on relevant targets

Warnings that are Currently not triggered (fix code if they appear again):

  C4005: macro redefinition

  C4244: argument conversion, possible loss of data

  C4267: conversion from size_t to type, possible loss of data

  C4305: truncation from type1 to type2
    * only occurrence disabled in Reader.cpp

  C4522: multiple assignment operator specified

  C5208: unnamed class in typedef name

Obsolete Compiler warnings:

  C4181: not mentioned in Microsoft docs anymore

  C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
    * throw(optional_type_list)  deprecated in C++17

  C4482: nonstandard extension used: enum 'enumeration' used in qualified name
    * not generated for compilers that support C++11

  C4503: 'identifier': decorated name length exceeded, name was truncated
    * obsolete since Visual Studio 2017

  C4786: not mentioned in Microsoft docs anymore
2025-09-11 20:21:04 -05:00
bofdahof
998f4e4d45 Console: rename PascalCase named methods to camelCase 2025-05-06 17:50:21 +02:00
tritao
6c2c6847eb CMake: Cleanup targets with transitive dependencies 2025-03-17 12:12:06 +00:00
Benjamin Bræstrup Sayoc
755229df23 Build: suppress warnings from 3rd party libraries
Warnings from 3rd parties are not relevant and are only polluting the warning output. Marking these libraries as SYSTEM suppresses warning.

https://gcc.gnu.org/onlinedocs/cpp/Invocation.html#index-I
https://gcc.gnu.org/onlinedocs/cpp/System-Headers.html
2025-02-25 14:39:05 +00:00
Joao Matos
cc6ffb44de Core: Move PyCXX library to src/3rdParty. 2025-02-24 16:36:06 +00:00
Joao Matos
27ebc68a11 CMake: Modernize build files using outdated Python variables. 2025-02-16 10:21:26 -06:00
mosfet80
b5a43eb220 [App] clean AppJtReader.cpp (#15626)
Clean code
2024-11-22 11:25:42 -06:00
wmayer
f0024a8930 JtReader: Fix include paths 2024-07-16 11:48:07 +02:00
mosfet80
9db4eb6621 [MOD] JtReader.cpp clean (#14624)
* [MOD] JtReader.cpp clean

clean

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-06-17 11:20:34 -05:00
wmayer
4185605d5e clang/gcc: Add build option FREECAD_WARN_ERROR to force to make warnings into errors 2024-05-29 13:37:07 +02:00
wmayer
640018bfa7 JtReader: allow to open JT files using TKJT 2023-11-09 01:40:54 +01:00
wmayer
944d5a1946 JT: clean-up module and move to PyCXX API 2023-11-06 20:07:06 +01:00
liukaiwen
4f8fe8fd4a [cmake] some definitions do not matter build now 2023-09-27 18:17:14 +08:00
pre-commit-ci[bot]
222a2520b1 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-09-12 13:02:35 -04:00
wmayer
6a29122b04 JtReader: Apply clang format 2023-09-10 11:25:51 +02:00
luzpaz
729685316e Fix trailing whitespace, typos, headers
Fix trailing whitespace, typos, and header uniformity.
2023-01-23 00:34:37 +01:00
luzpaz
654d82d91c JtReader: Fix header uniformity and trailing whitespace (#7919)
* also remove unused boolean
2022-12-02 00:47:00 +01:00
luz paz
fa98553775 Fix various typos and grammatical issues 2022-11-30 12:45:29 +01:00
wmayer
97330443a2 All: modernize C++11
* replace deprecated headers
2022-03-23 22:44:18 +01:00
Uwe
e20afbc154 [JtReader] remove unused includes
- also sort some headers out to PreCompiled.h
2022-03-21 18:16:56 +01:00
Uwe
12aedf48af [JtReader] fixes to make it compilable 2022-03-21 15:55:50 +01:00
Uwe
04ff5ae34e [JtReader] remove Python.h and Xerces 2022-03-21 02:46:04 +01:00
Dirk Olbrich
089d5abb6f Fixes Xercesc include, harmonize XercesC_INCLUDE_DIRS statement (#4960)
* fix: typo for XERCESC_INCLUDE_DIRS

* fix: harmonize XercesC_INCLUDE_DIRS capitalization
2021-08-16 22:57:34 -05:00
luz paz
05a22ec22d Misc: remove py2 code 2021-04-27 18:52:01 +02:00
wmayer
172503b408 CMP0050: make JtReader module aware of cmake policy 2018-08-20 22:49:00 +02:00
Fabio Rossi
56cd699183 Fix mod JtReader with python3 2018-07-07 14:09:11 -03:00
wmayer
0258808ccb fixes #0003421: Duplicate workbench message 2018-04-06 10:48:37 +02:00
luz.paz
143ce405e4 Misc. source and comment typos 2018-02-26 22:02:52 -05:00
luz.paz
b6b9f61548 Misc. typos
Inspired by @normandc per https://gitter.im/FreeCAD/FreeCAD?at=5a729c6ece68c3bc742df205
2018-02-07 09:40:03 +01:00
luzpaz
b24a9c9ad4 Misc. typos
- Tooltip uniformity 
- source comment typo fixes
- remove double whitespaces
2017-11-24 09:45:08 -02:00
wmayer
4afc110e6f fix -Wextra in JtReader 2016-09-23 21:28:53 +02:00
wmayer
0a7ab4e1ff + add missing license text 2016-04-13 15:20:41 +02:00
wmayer
5de9696365 + fix warnings:
-Wsign-compare, -Wunused-variable, -Wunused-function, -Wswitch
+ fix Qt issues
2016-04-13 14:26:38 +02:00
jriegel
240f2f7428 fix Jt merge 2016-04-12 18:12:03 +02:00
jriegel
ade02b5643 implementing Element reading 2016-04-12 18:12:03 +02:00
jriegel
81b4bcd4af further implementing 2016-04-12 18:12:03 +02:00
jriegel
248b228dbf start new Jt Reader 2016-04-12 18:12:02 +02:00
wmayer
477099bbfe + remove useless stuff from Init files 2015-01-13 16:19:19 +01:00
Sebastian Hoogen
debca91e98 remove support for automake 2014-11-26 10:26:30 +01:00
Sebastian Hoogen
a53a239f2f issue #1027 use unicode filepaths 2014-10-11 13:32:06 +02:00
Sebastian Hoogen
ed66ada1cf issue #1700 replace PyExc_Exception 2014-09-17 11:15:57 +02:00
wmayer
f1f3151345 +Relicense from GPL to LGPL 2013-09-19 11:21:03 +02:00
wmayer
120ca87015 + unify DLL export defines to namespace names
git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5000 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d
2011-10-10 13:44:52 +00:00