Commit Graph

34 Commits

Author SHA1 Message Date
Markus Reitböck
63ab3de853 TechDraw: 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-23 00:50:59 +02:00
Markus Reitböck
496b31b087 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
Chris Hennes
a027a2e6d5 TD: Add missing Boost headers to PCH 2025-03-03 23:18:47 -06:00
Benjamin Bræstrup Sayoc
b7f56a219f Move Tag to separate translation unit
- Avoid code duplication
- Reduces compile time
2025-02-21 13:01:28 +01:00
wmayer
7d492c9f64 Building: Boost dependency errors
Fixes #15999
2024-08-22 18:50:24 -05:00
Chris Hennes
778ae787a6 Add missing files to PreCompiled.h 2024-03-26 07:36:24 +01:00
Chris Hennes
cfd41683a5 Core: Enable compiling with MSVC /permissive- (#11014)
* Base: Fixes for MSVC permissive-

* App: Fixes for MSVC permissive-

* Gui: Fixes for MSVC permissive-

* Main: Fixes for MSVC permissive-

* Fem: Fixes for MSVC permissive-

* Material: Fixes for MSVC permissive-

* Part: Fixes for MSVC permissive-

* Mesh: Fixes for MSVC permissive-

* Points: Fixes for MSVC permissive-

* Robot: Fixes for MSVC permissive-

* TechDraw: Fixes for MSVC permissive-

* Path: Fixes for MSVC permissive-

* Core; Changes per review comments

* TD: Revision from wandererfan

* [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>
2023-11-27 17:37:29 +01:00
wmayer
6c7c001618 TD: [skip ci] fix build failure with boost >= 1.78 on Windows 2022-12-08 22:11:33 +01:00
Uwe
7e70d28761 [TD] Task*, part 2/2: remove unused includes
- also some sorting
- also take care of PreCompiled.h
2022-12-07 19:49:05 +01:00
wandererfan
f6fc9554ec [TD]remove export macros from PreCompiled.h 2022-10-29 19:19:54 -04:00
wandererfan
0ff473a9b6 [TD]Complex Section - initial implementation 2022-10-28 08:47:45 -04:00
Uwe
ce93dce31f [TD] Gui, PreCompiled.h: add missing OCC files 2022-10-10 03:00:57 +02:00
Uwe
aee2e64c2e [TD] [skip CI] PreCompiled.h: add comments 2022-10-09 20:05:45 +02:00
wmayer
9f2d7ec51f TD: [skip ci] adding missing Qt header to PCH 2022-10-08 19:06:34 +02:00
Uwe
4d73bd5a50 [TD] DrawD* - DrawT*: remove unused includes - part 2/2
- also sort includes
- also additions to precompiled header
2022-10-08 17:21:26 +02:00
Uwe
909e4f2dd3 [TD] DrawView*: remove unused includes - part 2
- also sort includes
- also additions to precompiled header
2022-10-08 02:10:26 +02:00
Uwe
44a91217a2 [TD] DrawView*: remove unused includes - part 1
- also sort includes
- also additions to precompiled header
2022-10-07 01:08:38 +02:00
Uwe
01c7df9f4f [TD] A* - C*: remove unused includes
- also sort includes
- also sort PreCompiled.h
2022-10-03 23:05:36 +02:00
Uwe
5f934ce6e9 [Part] OpenCascadeAll.h: sort entries and remove duplicates
- to keep the overview (several duplicates where found this way)
- also move the few includes from TechDraw to the file
2022-10-03 22:50:55 +02:00
Uwe
40e9759070 [TD] silence a MSVC compiler warning
- as suggested here: https://forum.freecadweb.org/viewtopic.php?p=613409#p613409
2022-07-29 02:21:21 +02:00
wmayer
6279408456 TD: [skip ci] activate PCH of TechDraw (App)
For MSVC this reduces compile time by ~50%
2022-03-25 13:34:07 +01:00
Uwe
19c8a76c62 [TD] App Headers: remove unused header - part 3/3 2022-03-25 01:13:34 +01:00
Uwe
6bc8a0236a [TD] EdgeWalker: try to fix CI compilation issue 2022-03-25 00:29:29 +01:00
wmayer
d21a60b294 All: modernize C++11
* replace deprecated headers
2022-03-23 22:44:18 +01:00
Uwe
f8191d1899 [TD] remove Python.h and Xerces
seems not to be necessary anymore
2022-03-21 02:53:47 +01:00
wmayer
91e4e468dd Base: move ILogger sub-classes to their own source files in order to reduce including stream classes in client code 2022-03-06 10:13:47 +01:00
luz.paz
d1dc813a80 TD: fix header uniformity
This PR fixes header uniformity across all TechDraw WB.
2019-12-21 09:57:45 -05:00
wandererfan
ffcafaf1a5 [TD]Add uuid tags for cosmetics 2019-08-22 17:11:55 -04:00
wandererfan
8047ec3f7e Add View and Page Dxf export 2018-04-29 10:12:31 +02:00
WandererFan
cd79ae2d5e Add viewPartAsDxf function in App 2017-06-23 08:14:46 +02:00
WandererFan
27aafada9c Include file cleanup per cppclean analysis 2016-07-14 14:39:06 +02:00
WandererFan
e05912a0cb Svg DrawViewSpreadsheet 2016-07-11 15:32:16 +02:00
WandererFan
2fbc4025cd ProjectionAlgo & DrawingExport renames 2016-07-11 15:32:16 +02:00
WandererFan
d24e9be1bf Add Mod/TechDraw/App 2016-07-11 15:32:16 +02:00