Commit Graph

26 Commits

Author SHA1 Message Date
Markus Reitböck
0019739095 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
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
Benjamin Nauck
d0320b494d TechDraw: Add #include <limits> where used 2025-03-31 23:53:03 +02:00
wmayer
561e521817 MSVC: Fix warning C4005: 'NOMINMAX': macro redefinition 2024-07-05 17:04:43 +02:00
Chris Hennes
fa65438556 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
Uwe
3c610a6c61 [TD] final fix of compilation after #8141
- in DimensionValidators.h the declarations must not be with TechDrawExport
- add missing precompiled headers

- also fix too long lines (fixed by clang)
- also some re-sorting
- also remove unused headers
2023-01-09 12:48:15 +01:00
Uwe
e42f46a47b [TD] attempt to fix compilation with PCH after #8141
- also resort includes
2023-01-09 11:26:51 +01:00
Uwe
b2ab8edba4 [TD] fix compilation with PCH after d63ac0f7
- also add includes to QtAll
2023-01-05 00:50:32 +01:00
Uwe
cbd0140dcd [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
Uwe
023a37b92c [TD] Task*, part 1: remove unused includes
- also some sorting
2022-12-07 16:15:40 +01:00
Uwe
020ced9859 [TD] QGIView*: remove unused includes
- also some sorting
2022-12-04 04:21:01 +01:00
wandererfan
1282fdb7e8 [TD]remove export macros from PreCompiled.h 2022-10-29 19:19:54 -04:00
Uwe
d8d9e21d23 [TD] Gui, PreCompiled.h: add missing OCC files 2022-10-10 03:00:57 +02:00
Uwe
1b7e53acbc [TD] Gui, everything but Q*, Task* and ViewP*: remove unused includes
- also sort includes
2022-10-09 17:20:00 +02:00
Uwe
e29d1d0332 [TD] Gui, A*-C*: remove unused includes
- also sort includes
- also an addition to precompiled header
- TaskCenterLine: remove unused code that interferes with used code with the same name
2022-10-09 03:34:53 +02:00
wandererfan
acf17905ed [TD]CI clang warnings 2022-09-05 17:48:38 -04:00
Benjamin Bræstrup Sayoc
aa9a667506 [TechDraw] Clean up precompile in Gui 2022-08-14 09:20:38 -04:00
wmayer
fd8719c85c TD: [skip ci] activate PCH of TechDraw (Gui) and use forward declarations
For MSVC this reduces compile time by ~20%
2022-03-25 13:54:47 +01:00
Uwe
5e6699e48d [TD] remove Python.h and Xerces
seems not to be necessary anymore
2022-03-21 02:53:47 +01:00
Uwe
bda12907de [Gui] rename the Qt header list 2022-03-07 20:35:38 +01:00
luz.paz
cbdba0b5bb TD: fix header uniformity
This PR fixes header uniformity across all TechDraw WB.
2019-12-21 09:57:45 -05:00
wandererfan
9bfd118f37 Fix includes for M_PI on Win
Fix missing ImportExport
2018-07-18 10:52:03 -03:00
WandererFan
3b96cbbeb6 wmayer patch for Win & OCC7 compat 2016-07-11 15:32:16 +02:00
WandererFan
665bea53cf Svg DrawViewSpreadsheet 2016-07-11 15:32:16 +02:00
WandererFan
3b2d07e8af ProjectionAlgo & DrawingExport renames 2016-07-11 15:32:16 +02:00
WandererFan
7c009c6def Add Mod/TechDraw/Gui 2016-07-11 15:32:16 +02:00