From ba03cf1ed6332cd9c67ce1ef7ae88a9277761118 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20Reitb=C3=B6ck?= Date: Sun, 21 Sep 2025 17:27:32 +0200 Subject: [PATCH] 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 " from sources, also there is no need for the "#ifdef _PreComp_" anymore --- src/Mod/JtReader/App/AppJtReader.cpp | 1 - src/Mod/JtReader/App/AppJtReaderPy.cpp | 1 - src/Mod/JtReader/App/CMakeLists.txt | 8 +++++++- src/Mod/JtReader/App/FcLodHandler.cpp | 1 - src/Mod/JtReader/App/JtReader.cpp | 4 +--- src/Mod/JtReader/App/PreCompiled.cpp | 7 ------- src/Mod/JtReader/App/PreCompiled.h | 14 -------------- src/Mod/JtReader/App/TKJtReader.cpp | 1 - src/Mod/JtReader/App/TestJtReader.cpp | 4 +--- 9 files changed, 9 insertions(+), 32 deletions(-) delete mode 100644 src/Mod/JtReader/App/PreCompiled.cpp diff --git a/src/Mod/JtReader/App/AppJtReader.cpp b/src/Mod/JtReader/App/AppJtReader.cpp index 3684bec02c..1f4ec3cfdc 100644 --- a/src/Mod/JtReader/App/AppJtReader.cpp +++ b/src/Mod/JtReader/App/AppJtReader.cpp @@ -20,7 +20,6 @@ * * ***************************************************************************/ -#include "PreCompiled.h" #include #include diff --git a/src/Mod/JtReader/App/AppJtReaderPy.cpp b/src/Mod/JtReader/App/AppJtReaderPy.cpp index a2c020bdae..2cbc18a5c0 100644 --- a/src/Mod/JtReader/App/AppJtReaderPy.cpp +++ b/src/Mod/JtReader/App/AppJtReaderPy.cpp @@ -20,7 +20,6 @@ * * ***************************************************************************/ -#include "PreCompiled.h" #include #include diff --git a/src/Mod/JtReader/App/CMakeLists.txt b/src/Mod/JtReader/App/CMakeLists.txt index d0407039da..8c3b15e04e 100644 --- a/src/Mod/JtReader/App/CMakeLists.txt +++ b/src/Mod/JtReader/App/CMakeLists.txt @@ -16,7 +16,6 @@ set(JtReader_LIBS SET(JtReader_SRCS AppJtReader.cpp AppJtReaderPy.cpp - PreCompiled.cpp PreCompiled.h TestJtReader.cpp TestJtReader.h @@ -48,6 +47,13 @@ SOURCE_GROUP("JrJt" FILES ${JRJT_SRCS} ) SOURCE_GROUP("Module" FILES ${JtReader_SRCS}) add_library(JtReader SHARED ${JtReader_SRCS} ${JRJT_SRCS} ${JtReader_Scripts}) + +if(FREECAD_USE_PCH) + target_precompile_headers(JtReader PRIVATE + $<$:"${CMAKE_CURRENT_LIST_DIR}/PreCompiled.h"> + ) +endif(FREECAD_USE_PCH) + target_link_libraries(JtReader ${JtReader_LIBS}) if (MSVC) diff --git a/src/Mod/JtReader/App/FcLodHandler.cpp b/src/Mod/JtReader/App/FcLodHandler.cpp index cd3f997836..342b258ce3 100644 --- a/src/Mod/JtReader/App/FcLodHandler.cpp +++ b/src/Mod/JtReader/App/FcLodHandler.cpp @@ -20,7 +20,6 @@ * * ***************************************************************************/ -#include "PreCompiled.h" #include diff --git a/src/Mod/JtReader/App/JtReader.cpp b/src/Mod/JtReader/App/JtReader.cpp index 89575e7539..0d7dd69f3d 100644 --- a/src/Mod/JtReader/App/JtReader.cpp +++ b/src/Mod/JtReader/App/JtReader.cpp @@ -3,13 +3,11 @@ * LGPL * ***************************************************************************/ -#include "PreCompiled.h" -#ifndef _PreComp_ #include #include #include #include -#endif + #include #include diff --git a/src/Mod/JtReader/App/PreCompiled.cpp b/src/Mod/JtReader/App/PreCompiled.cpp deleted file mode 100644 index af15487840..0000000000 --- a/src/Mod/JtReader/App/PreCompiled.cpp +++ /dev/null @@ -1,7 +0,0 @@ -/*************************************************************************** - * Copyright (c) Juergen Riegel 2007 * - * LGPL * - ***************************************************************************/ - - -#include "PreCompiled.h" diff --git a/src/Mod/JtReader/App/PreCompiled.h b/src/Mod/JtReader/App/PreCompiled.h index ccfecec3af..280cd59a48 100644 --- a/src/Mod/JtReader/App/PreCompiled.h +++ b/src/Mod/JtReader/App/PreCompiled.h @@ -8,19 +8,7 @@ #include -// Importing of App classes -#ifdef FC_OS_WIN32 -#define MeshExport __declspec(dllimport) -#define AppJtReaderExport __declspec(dllexport) -#else // for Linux -#define MeshExport -#define AppJtReaderExport -#endif - -#ifdef _PreComp_ - // standard - #include #include @@ -41,6 +29,4 @@ // sys #include -#endif //_PreComp_ - #endif diff --git a/src/Mod/JtReader/App/TKJtReader.cpp b/src/Mod/JtReader/App/TKJtReader.cpp index 66b5d696fc..e8251baa74 100644 --- a/src/Mod/JtReader/App/TKJtReader.cpp +++ b/src/Mod/JtReader/App/TKJtReader.cpp @@ -21,7 +21,6 @@ * * **************************************************************************/ -#include "PreCompiled.h" #include #include "TKJtReader.h" diff --git a/src/Mod/JtReader/App/TestJtReader.cpp b/src/Mod/JtReader/App/TestJtReader.cpp index 47839de734..2265aa16a5 100644 --- a/src/Mod/JtReader/App/TestJtReader.cpp +++ b/src/Mod/JtReader/App/TestJtReader.cpp @@ -20,10 +20,8 @@ * * ***************************************************************************/ -#include "PreCompiled.h" -#ifndef _PreComp_ #include -#endif + #include #include