From 749ac36615c57e6614b687af596c3151b2d873ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20Reitb=C3=B6ck?= Date: Tue, 26 Aug 2025 11:39:16 +0200 Subject: [PATCH] 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 --- src/App/CMakeLists.txt | 6 ++++++ src/App/PreCompiled.h | 18 ------------------ src/Base/CMakeLists.txt | 5 +++++ src/Base/PreCompiled.h | 4 ---- src/Gui/CMakeLists.txt | 6 ++++++ src/Gui/GLPainter.h | 3 --- src/Gui/PreCompiled.h | 16 ---------------- src/Gui/Selection/SoFCSelection.h | 3 --- src/Mod/Assembly/App/PreCompiled.h | 4 ---- src/Mod/CAM/App/PreCompiled.h | 4 ---- src/Mod/CAM/Gui/CMakeLists.txt | 5 +++++ src/Mod/CAM/Gui/PreCompiled.h | 4 ---- src/Mod/Draft/App/CMakeLists.txt | 5 +++++ src/Mod/Draft/App/PreCompiled.h | 4 ---- src/Mod/Fem/App/CMakeLists.txt | 5 +++++ src/Mod/Fem/App/PreCompiled.h | 5 ----- src/Mod/Fem/Gui/CMakeLists.txt | 5 +++++ src/Mod/Fem/Gui/PreCompiled.h | 9 --------- src/Mod/Import/App/CMakeLists.txt | 5 +++++ src/Mod/Import/App/PreCompiled.h | 10 ---------- src/Mod/Import/Gui/CMakeLists.txt | 5 +++++ src/Mod/Import/Gui/PreCompiled.h | 9 --------- src/Mod/Inspection/App/CMakeLists.txt | 5 +++++ src/Mod/Inspection/App/PreCompiled.h | 7 ------- src/Mod/Inspection/Gui/CMakeLists.txt | 5 +++++ src/Mod/Inspection/Gui/PreCompiled.h | 6 ------ src/Mod/JtReader/App/CMakeLists.txt | 5 +++++ src/Mod/JtReader/App/PreCompiled.h | 9 --------- src/Mod/Material/App/CMakeLists.txt | 4 ++++ src/Mod/Material/App/PreCompiled.h | 11 ----------- src/Mod/Material/Gui/CMakeLists.txt | 5 +++++ src/Mod/Material/Gui/PreCompiled.h | 11 ----------- src/Mod/Measure/Gui/CMakeLists.txt | 5 +++++ src/Mod/Measure/Gui/PreCompiled.h | 11 ----------- src/Mod/Mesh/App/CMakeLists.txt | 5 +++++ src/Mod/Mesh/App/PreCompiled.h | 9 --------- src/Mod/Mesh/Gui/CMakeLists.txt | 5 +++++ src/Mod/Mesh/Gui/PreCompiled.h | 13 ------------- src/Mod/MeshPart/App/CMakeLists.txt | 5 +++++ src/Mod/MeshPart/App/PreCompiled.h | 7 ------- src/Mod/MeshPart/Gui/CMakeLists.txt | 5 +++++ src/Mod/MeshPart/Gui/PreCompiled.h | 6 ------ src/Mod/Part/App/CMakeLists.txt | 6 ++++++ src/Mod/Part/App/PreCompiled.h | 14 +------------- src/Mod/Part/Gui/CMakeLists.txt | 5 +++++ src/Mod/Part/Gui/PreCompiled.h | 10 ---------- src/Mod/PartDesign/App/CMakeLists.txt | 5 +++++ src/Mod/PartDesign/App/PreCompiled.h | 7 ------- src/Mod/PartDesign/Gui/PreCompiled.h | 7 ------- src/Mod/Points/App/PreCompiled.h | 7 ------- src/Mod/ReverseEngineering/App/CMakeLists.txt | 5 +++++ src/Mod/ReverseEngineering/App/PreCompiled.h | 8 -------- src/Mod/ReverseEngineering/Gui/CMakeLists.txt | 5 +++++ src/Mod/ReverseEngineering/Gui/PreCompiled.h | 8 -------- src/Mod/Robot/Gui/CMakeLists.txt | 5 +++++ src/Mod/Robot/Gui/PreCompiled.h | 5 ----- src/Mod/Sandbox/Gui/CMakeLists.txt | 4 ++++ src/Mod/Sandbox/Gui/Command.cpp | 2 -- src/Mod/Sketcher/App/CMakeLists.txt | 5 +++++ src/Mod/Sketcher/App/PreCompiled.h | 6 ------ src/Mod/Sketcher/Gui/PreCompiled.h | 7 ------- src/Mod/Spreadsheet/App/CMakeLists.txt | 5 +++++ src/Mod/Spreadsheet/App/PreCompiled.h | 8 -------- src/Mod/Spreadsheet/Gui/CMakeLists.txt | 5 +++++ src/Mod/Spreadsheet/Gui/PreCompiled.h | 8 -------- src/Mod/Start/App/PreCompiled.h | 4 ---- src/Mod/Start/Gui/PreCompiled.h | 4 ---- src/Mod/TechDraw/App/CMakeLists.txt | 5 +++++ src/Mod/TechDraw/App/PreCompiled.h | 4 ---- src/Mod/TechDraw/Gui/CMakeLists.txt | 5 +++++ src/Mod/TechDraw/Gui/PreCompiled.h | 8 -------- src/Mod/Test/Gui/CMakeLists.txt | 5 +++++ src/Mod/Test/Gui/PreCompiled.h | 7 ------- src/Tools/embedded/Qt/cxx/CMakeLists.txt | 4 ++++ src/Tools/embedded/Qt/cxx/PreCompiled.h | 4 ---- tests/src/Base/Reader.cpp | 1 + 76 files changed, 167 insertions(+), 310 deletions(-) diff --git a/src/App/CMakeLists.txt b/src/App/CMakeLists.txt index 208c6348bd..97e372b07e 100644 --- a/src/App/CMakeLists.txt +++ b/src/App/CMakeLists.txt @@ -355,6 +355,12 @@ endif(FREECAD_USE_PCH) target_sources(FreeCADApp PRIVATE ${FreeCADApp_SRCS}) target_link_libraries(FreeCADApp ${FreeCADApp_LIBS}) + +if (MSVC) + target_compile_definitions(FreeCADApp PRIVATE WIN32_LEAN_AND_MEAN) + target_compile_options(FreeCADApp PRIVATE /wd4251 /wd4273 /wd4275) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(FreeCADApp) endif() diff --git a/src/App/PreCompiled.h b/src/App/PreCompiled.h index b531b93ef9..e13c4a14e7 100644 --- a/src/App/PreCompiled.h +++ b/src/App/PreCompiled.h @@ -25,24 +25,6 @@ #include -// point at which warnings of overly long specifiers disabled -#ifdef _MSC_VER -#pragma warning(disable : 4251) -#pragma warning(disable : 4273) -#pragma warning(disable : 4275) -#pragma warning(disable : 4482) // nonstandard extension used: enum 'App::ObjectStatus' used in - // qualified name -#pragma warning(disable : 4503) -#pragma warning(disable : 4786) // specifier longer then 255 chars -#endif - -#ifdef FC_OS_WIN32 -#define WIN32_LEAN_AND_MEAN -#ifndef NOMINMAX -#define NOMINMAX -#endif -#endif - #ifdef _PreComp_ // standard diff --git a/src/Base/CMakeLists.txt b/src/Base/CMakeLists.txt index 6335f5c44f..0aaaa97488 100644 --- a/src/Base/CMakeLists.txt +++ b/src/Base/CMakeLists.txt @@ -340,6 +340,11 @@ endif(FREECAD_USE_PCH) target_sources(FreeCADBase PRIVATE ${FreeCADBase_SRCS}) target_link_libraries(FreeCADBase ${FreeCADBase_LIBS}) + +if (MSVC) + target_compile_definitions(FreeCADBase PRIVATE WIN32_LEAN_AND_MEAN) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(FreeCADBase) endif() diff --git a/src/Base/PreCompiled.h b/src/Base/PreCompiled.h index be0769249d..1b5965612f 100644 --- a/src/Base/PreCompiled.h +++ b/src/Base/PreCompiled.h @@ -45,10 +45,6 @@ #ifdef FC_OS_WIN32 #include -#define WIN32_LEAN_AND_MEAN -#ifndef NOMINMAX -#define NOMINMAX -#endif #include #include #include diff --git a/src/Gui/CMakeLists.txt b/src/Gui/CMakeLists.txt index 2d1f91590a..caf03ff89f 100644 --- a/src/Gui/CMakeLists.txt +++ b/src/Gui/CMakeLists.txt @@ -1531,6 +1531,12 @@ endif () target_sources(FreeCADGui PRIVATE ${FreeCADGui_SRCS}) target_link_libraries(FreeCADGui PUBLIC ${FreeCADGui_LIBS}) + +if (MSVC) + target_compile_definitions(FreeCADGui PRIVATE WIN32_LEAN_AND_MEAN) + target_compile_options(FreeCADApp PRIVATE /wd4251 /wd4273 /wd4275) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(FreeCADGui) endif() diff --git a/src/Gui/GLPainter.h b/src/Gui/GLPainter.h index cae84007e0..ad16026c40 100644 --- a/src/Gui/GLPainter.h +++ b/src/Gui/GLPainter.h @@ -25,9 +25,6 @@ #define GUI_GLPAINTER_H #ifdef FC_OS_WIN32 -#ifndef NOMINMAX -#define NOMINMAX -#endif #include #endif #ifdef FC_OS_MACOSX diff --git a/src/Gui/PreCompiled.h b/src/Gui/PreCompiled.h index a5e5327814..fa11b50223 100644 --- a/src/Gui/PreCompiled.h +++ b/src/Gui/PreCompiled.h @@ -26,22 +26,6 @@ #include -#ifdef FC_OS_WIN32 -#define WIN32_LEAN_AND_MEAN -#ifndef NOMINMAX -#define NOMINMAX -#endif -#endif - -// point at which warnings of overly long specifiers disabled (needed for VC6) -#ifdef _MSC_VER -#pragma warning( disable : 4251 ) -#pragma warning( disable : 4273 ) -#pragma warning( disable : 4275 ) -#pragma warning( disable : 4503 ) -#pragma warning( disable : 4786 ) // specifier longer then 255 chars -#endif - #ifdef _PreComp_ // standard diff --git a/src/Gui/Selection/SoFCSelection.h b/src/Gui/Selection/SoFCSelection.h index 9327aafa49..dc3e371e39 100644 --- a/src/Gui/Selection/SoFCSelection.h +++ b/src/Gui/Selection/SoFCSelection.h @@ -27,9 +27,6 @@ # include # else # ifdef FC_OS_WIN32 -# ifndef NOMINMAX -# define NOMINMAX -# endif # include # endif # include diff --git a/src/Mod/Assembly/App/PreCompiled.h b/src/Mod/Assembly/App/PreCompiled.h index 3525861c09..5027472fb0 100644 --- a/src/Mod/Assembly/App/PreCompiled.h +++ b/src/Mod/Assembly/App/PreCompiled.h @@ -26,10 +26,6 @@ #include -#ifdef _MSC_VER -#pragma warning(disable : 5208) -#endif - #ifdef _PreComp_ // standard diff --git a/src/Mod/CAM/App/PreCompiled.h b/src/Mod/CAM/App/PreCompiled.h index 476d3f979d..65baf02e78 100644 --- a/src/Mod/CAM/App/PreCompiled.h +++ b/src/Mod/CAM/App/PreCompiled.h @@ -36,10 +36,6 @@ #define PartExport #endif -#ifdef _MSC_VER -#pragma warning(disable : 5208) -#endif - #ifdef _PreComp_ // standard diff --git a/src/Mod/CAM/Gui/CMakeLists.txt b/src/Mod/CAM/Gui/CMakeLists.txt index 77fe65d0c6..f3e6e00bbb 100644 --- a/src/Mod/CAM/Gui/CMakeLists.txt +++ b/src/Mod/CAM/Gui/CMakeLists.txt @@ -78,6 +78,11 @@ target_include_directories( ${CMAKE_CURRENT_BINARY_DIR} ) target_link_libraries(PathGui ${PathGui_LIBS}) + +if (MSVC) + target_compile_options(PathGui PRIVATE /wd4273) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(PathGui) endif() diff --git a/src/Mod/CAM/Gui/PreCompiled.h b/src/Mod/CAM/Gui/PreCompiled.h index ed1229b9b5..1de6e791cf 100644 --- a/src/Mod/CAM/Gui/PreCompiled.h +++ b/src/Mod/CAM/Gui/PreCompiled.h @@ -38,10 +38,6 @@ #define PathGuiExport #endif -#ifdef _MSC_VER -#pragma warning(disable : 4273) -#endif - #ifdef _PreComp_ // boost diff --git a/src/Mod/Draft/App/CMakeLists.txt b/src/Mod/Draft/App/CMakeLists.txt index 93064d6c2c..993cabed86 100644 --- a/src/Mod/Draft/App/CMakeLists.txt +++ b/src/Mod/Draft/App/CMakeLists.txt @@ -25,6 +25,11 @@ target_include_directories( ${CMAKE_CURRENT_BINARY_DIR} ) target_link_libraries(DraftUtils ${DraftUtils_LIBS}) + +if (MSVC) + target_compile_options(DraftUtils PRIVATE /wd4275) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(DraftUtils) endif() diff --git a/src/Mod/Draft/App/PreCompiled.h b/src/Mod/Draft/App/PreCompiled.h index 2c3c421fae..1532376858 100644 --- a/src/Mod/Draft/App/PreCompiled.h +++ b/src/Mod/Draft/App/PreCompiled.h @@ -25,8 +25,4 @@ #include -#ifdef _MSC_VER -# pragma warning(disable : 4275) -#endif - #endif diff --git a/src/Mod/Fem/App/CMakeLists.txt b/src/Mod/Fem/App/CMakeLists.txt index 19561bb154..24329f725e 100644 --- a/src/Mod/Fem/App/CMakeLists.txt +++ b/src/Mod/Fem/App/CMakeLists.txt @@ -210,6 +210,11 @@ target_include_directories( target_link_directories(Fem PUBLIC ${SMESH_LIB_PATH}) target_link_libraries(Fem ${Fem_LIBS} ${VTK_LIBRARIES}) + +if (MSVC) + target_compile_options(Fem PRIVATE /wd4275) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(Fem) endif() diff --git a/src/Mod/Fem/App/PreCompiled.h b/src/Mod/Fem/App/PreCompiled.h index 5667031cb4..4df4b93e63 100644 --- a/src/Mod/Fem/App/PreCompiled.h +++ b/src/Mod/Fem/App/PreCompiled.h @@ -25,11 +25,6 @@ #include -#ifdef _MSC_VER -#pragma warning(disable : 4290) -#pragma warning(disable : 4275) -#endif - #ifdef _PreComp_ // standard diff --git a/src/Mod/Fem/Gui/CMakeLists.txt b/src/Mod/Fem/Gui/CMakeLists.txt index 3ac82562f9..7593638c71 100755 --- a/src/Mod/Fem/Gui/CMakeLists.txt +++ b/src/Mod/Fem/Gui/CMakeLists.txt @@ -404,6 +404,11 @@ target_include_directories( target_link_directories(FemGui PUBLIC ${SMESH_LIB_PATH}) target_link_libraries(FemGui ${FemGui_LIBS} ${VTK_LIBRARIES}) + +if (MSVC) + target_compile_definitions(FemGui PRIVATE WIN32_LEAN_AND_MEAN) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(FemGui) endif() diff --git a/src/Mod/Fem/Gui/PreCompiled.h b/src/Mod/Fem/Gui/PreCompiled.h index 97824d7f34..62096fcca9 100644 --- a/src/Mod/Fem/Gui/PreCompiled.h +++ b/src/Mod/Fem/Gui/PreCompiled.h @@ -25,11 +25,6 @@ #include -#ifdef _MSC_VER -#pragma warning(disable : 4005) -#pragma warning(disable : 4290) -#endif - #ifdef _PreComp_ // standard @@ -56,10 +51,6 @@ #include #ifdef FC_OS_WIN32 -#define WIN32_LEAN_AND_MEAN -#ifndef NOMINMAX -#define NOMINMAX -#endif #include #endif diff --git a/src/Mod/Import/App/CMakeLists.txt b/src/Mod/Import/App/CMakeLists.txt index fc363b390c..1235bc5bf1 100644 --- a/src/Mod/Import/App/CMakeLists.txt +++ b/src/Mod/Import/App/CMakeLists.txt @@ -81,6 +81,11 @@ target_include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ) target_link_libraries(Import ${Import_LIBS}) + +if (MSVC) + target_compile_options(Import PRIVATE /wd4251 /wd4275) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(Import) endif() diff --git a/src/Mod/Import/App/PreCompiled.h b/src/Mod/Import/App/PreCompiled.h index d9efa68e57..7c41caec2c 100644 --- a/src/Mod/Import/App/PreCompiled.h +++ b/src/Mod/Import/App/PreCompiled.h @@ -26,16 +26,6 @@ #include - -/// point at which warnings of overly long specifiers disabled (needet for VC6) -#ifdef _MSC_VER -#pragma warning(disable : 4251) -#pragma warning(disable : 4275) -#pragma warning(disable : 4503) -#pragma warning(disable : 4786) // specifier longer then 255 chars -#endif - - #ifdef _PreComp_ // standard diff --git a/src/Mod/Import/Gui/CMakeLists.txt b/src/Mod/Import/Gui/CMakeLists.txt index 88b1a0a41e..14c83b10b1 100644 --- a/src/Mod/Import/Gui/CMakeLists.txt +++ b/src/Mod/Import/Gui/CMakeLists.txt @@ -32,6 +32,11 @@ target_include_directories( ${CMAKE_CURRENT_BINARY_DIR} ) target_link_libraries(ImportGui ${ImportGui_LIBS}) + +if (MSVC) + target_compile_options(ImportGui PRIVATE /wd4251) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(ImportGui) endif() diff --git a/src/Mod/Import/Gui/PreCompiled.h b/src/Mod/Import/Gui/PreCompiled.h index ea56537c6e..fdafc1a21f 100644 --- a/src/Mod/Import/Gui/PreCompiled.h +++ b/src/Mod/Import/Gui/PreCompiled.h @@ -26,15 +26,6 @@ #include - -// point at which warnings of overly long specifiers disabled (needed for VC6) -#ifdef _MSC_VER -#pragma warning(disable : 4005) -#pragma warning(disable : 4251) -#pragma warning(disable : 4503) -#pragma warning(disable : 4786) // specifier longer then 255 chars -#endif - #ifdef _PreComp_ // standard diff --git a/src/Mod/Inspection/App/CMakeLists.txt b/src/Mod/Inspection/App/CMakeLists.txt index 67a8b25e88..5712ccf32f 100644 --- a/src/Mod/Inspection/App/CMakeLists.txt +++ b/src/Mod/Inspection/App/CMakeLists.txt @@ -33,6 +33,11 @@ target_include_directories( ) target_link_libraries(Inspection ${Inspection_LIBS}) + +if (MSVC) + target_compile_options(Inspection PRIVATE /wd4251) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(Inspection) endif() diff --git a/src/Mod/Inspection/App/PreCompiled.h b/src/Mod/Inspection/App/PreCompiled.h index 7f47174e9d..71c68dc908 100644 --- a/src/Mod/Inspection/App/PreCompiled.h +++ b/src/Mod/Inspection/App/PreCompiled.h @@ -25,13 +25,6 @@ #include -#ifdef _MSC_VER -#pragma warning(disable : 4005) -#pragma warning(disable : 4251) -#pragma warning(disable : 4503) -#pragma warning(disable : 4786) // specifier longer then 255 chars -#endif - #ifdef _PreComp_ // STL diff --git a/src/Mod/Inspection/Gui/CMakeLists.txt b/src/Mod/Inspection/Gui/CMakeLists.txt index 32cce60f80..d0adb9a68c 100644 --- a/src/Mod/Inspection/Gui/CMakeLists.txt +++ b/src/Mod/Inspection/Gui/CMakeLists.txt @@ -57,6 +57,11 @@ target_include_directories( ) target_link_libraries(InspectionGui ${InspectionGui_LIBS}) + +if (MSVC) + target_compile_options(InspectionGui PRIVATE /wd4251) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(InspectionGui) endif() diff --git a/src/Mod/Inspection/Gui/PreCompiled.h b/src/Mod/Inspection/Gui/PreCompiled.h index d304568b6a..aa1c80f707 100644 --- a/src/Mod/Inspection/Gui/PreCompiled.h +++ b/src/Mod/Inspection/Gui/PreCompiled.h @@ -25,12 +25,6 @@ #include -#ifdef _MSC_VER -#pragma warning(disable : 4005) -#pragma warning(disable : 4251) -#pragma warning(disable : 4503) -#pragma warning(disable : 4786) // specifier longer then 255 chars -#endif #ifdef _PreComp_ diff --git a/src/Mod/JtReader/App/CMakeLists.txt b/src/Mod/JtReader/App/CMakeLists.txt index 7202a7d06b..d0407039da 100644 --- a/src/Mod/JtReader/App/CMakeLists.txt +++ b/src/Mod/JtReader/App/CMakeLists.txt @@ -49,6 +49,11 @@ SOURCE_GROUP("Module" FILES ${JtReader_SRCS}) add_library(JtReader SHARED ${JtReader_SRCS} ${JRJT_SRCS} ${JtReader_Scripts}) target_link_libraries(JtReader ${JtReader_LIBS}) + +if (MSVC) + target_compile_options(JtReader PRIVATE /wd4251 /wd4275) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(JtReader) endif() diff --git a/src/Mod/JtReader/App/PreCompiled.h b/src/Mod/JtReader/App/PreCompiled.h index 1132c3a4f6..e56c443a97 100644 --- a/src/Mod/JtReader/App/PreCompiled.h +++ b/src/Mod/JtReader/App/PreCompiled.h @@ -20,15 +20,6 @@ #ifdef _PreComp_ -/// point at which warnings of overly long specifiers disabled (needed for VC6) - -#ifdef _MSC_VER -#pragma warning(disable : 4251) -#pragma warning(disable : 4503) -#pragma warning(disable : 4275) -#pragma warning(disable : 4786) // specifier longer then 255 chars -#endif - // standard #include diff --git a/src/Mod/Material/App/CMakeLists.txt b/src/Mod/Material/App/CMakeLists.txt index 32aefa95bb..1fe10bfbf6 100644 --- a/src/Mod/Material/App/CMakeLists.txt +++ b/src/Mod/Material/App/CMakeLists.txt @@ -166,6 +166,10 @@ endif(BUILD_MATERIAL_EXTERNAL) target_link_directories(Materials PUBLIC ${YAML_CPP_LIBRARY_DIR}) target_link_libraries(Materials ${Materials_LIBS}) +if (MSVC) + target_compile_options(Materials PRIVATE /wd4251 /wd4273) +endif() + if(FREECAD_WARN_ERROR) target_compile_warn_error(Materials) endif() diff --git a/src/Mod/Material/App/PreCompiled.h b/src/Mod/Material/App/PreCompiled.h index 255a52e0de..0abd286cbc 100644 --- a/src/Mod/Material/App/PreCompiled.h +++ b/src/Mod/Material/App/PreCompiled.h @@ -24,18 +24,7 @@ #include -// point at which warnings of overly long specifiers disabled (needed for VC6) -#ifdef _MSC_VER -#pragma warning(disable : 4251) -#pragma warning(disable : 4503) -#pragma warning(disable : 4786) // specifier longer then 255 chars -#pragma warning(disable : 4273) -#endif - #ifdef FC_OS_WIN32 -#ifndef NOMINMAX -#define NOMINMAX -#endif #include #endif diff --git a/src/Mod/Material/Gui/CMakeLists.txt b/src/Mod/Material/Gui/CMakeLists.txt index b9517b0b07..69b886e1e8 100644 --- a/src/Mod/Material/Gui/CMakeLists.txt +++ b/src/Mod/Material/Gui/CMakeLists.txt @@ -184,6 +184,11 @@ target_include_directories( ${QtConcurrent_INCLUDE_DIRS} ) target_link_libraries(MatGui ${MatGui_LIBS}) + +if (MSVC) + target_compile_options(MatGui PRIVATE /wd4251 /wd4273) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(MatGui) endif() diff --git a/src/Mod/Material/Gui/PreCompiled.h b/src/Mod/Material/Gui/PreCompiled.h index aef9192070..d514bb4604 100644 --- a/src/Mod/Material/Gui/PreCompiled.h +++ b/src/Mod/Material/Gui/PreCompiled.h @@ -24,18 +24,7 @@ #include -// point at which warnings of overly long specifiers disabled (needed for VC6) -#ifdef _MSC_VER -#pragma warning(disable : 4251) -#pragma warning(disable : 4503) -#pragma warning(disable : 4786) // specifier longer then 255 chars -#pragma warning(disable : 4273) -#endif - #ifdef FC_OS_WIN32 -#ifndef NOMINMAX -#define NOMINMAX -#endif #include #endif diff --git a/src/Mod/Measure/Gui/CMakeLists.txt b/src/Mod/Measure/Gui/CMakeLists.txt index 7ac25921d4..a65e505edc 100644 --- a/src/Mod/Measure/Gui/CMakeLists.txt +++ b/src/Mod/Measure/Gui/CMakeLists.txt @@ -78,6 +78,11 @@ target_include_directories( ${CMAKE_CURRENT_BINARY_DIR} ) target_link_libraries(MeasureGui ${MeasureGui_LIBS}) + +if (MSVC) + target_compile_options(MeasureGui PRIVATE /wd4251 /wd4273) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(MeasureGui) endif() diff --git a/src/Mod/Measure/Gui/PreCompiled.h b/src/Mod/Measure/Gui/PreCompiled.h index c897421afa..ea0800dd42 100644 --- a/src/Mod/Measure/Gui/PreCompiled.h +++ b/src/Mod/Measure/Gui/PreCompiled.h @@ -26,18 +26,7 @@ #include -// point at which warnings of overly long specifiers disabled (needed for VC6) -#ifdef _MSC_VER -#pragma warning(disable : 4251) -#pragma warning(disable : 4503) -#pragma warning(disable : 4786) // specifier longer then 255 chars -#pragma warning(disable : 4273) -#endif - #ifdef FC_OS_WIN32 -#ifndef NOMINMAX -#define NOMINMAX -#endif #include #endif diff --git a/src/Mod/Mesh/App/CMakeLists.txt b/src/Mod/Mesh/App/CMakeLists.txt index aa01451e9f..64c80f2ca7 100644 --- a/src/Mod/Mesh/App/CMakeLists.txt +++ b/src/Mod/Mesh/App/CMakeLists.txt @@ -415,6 +415,11 @@ endif () target_sources(Mesh PRIVATE ${Core_SRCS} ${WildMagic4_SRCS} ${Mesh_SRCS}) target_link_libraries(Mesh ${Mesh_LIBS}) + +if (MSVC) + target_compile_options(Mesh PRIVATE /wd4251 /wd4275 /wd4661) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(Mesh) endif() diff --git a/src/Mod/Mesh/App/PreCompiled.h b/src/Mod/Mesh/App/PreCompiled.h index 2fc5ce6ca2..6145ecb0e3 100644 --- a/src/Mod/Mesh/App/PreCompiled.h +++ b/src/Mod/Mesh/App/PreCompiled.h @@ -26,15 +26,6 @@ #include -// point at which warnings of overly long specifiers disabled (needed for VC6) -#ifdef _MSC_VER -#pragma warning(disable : 4251) -#pragma warning(disable : 4503) -#pragma warning(disable : 4275) -#pragma warning(disable : 4786) // specifier longer then 255 chars -#pragma warning(disable : 4661) // no suitable definition provided for explicit -#endif // template instantiation request - #ifdef _PreComp_ // standard diff --git a/src/Mod/Mesh/Gui/CMakeLists.txt b/src/Mod/Mesh/Gui/CMakeLists.txt index a2963f7e95..63b860a526 100644 --- a/src/Mod/Mesh/Gui/CMakeLists.txt +++ b/src/Mod/Mesh/Gui/CMakeLists.txt @@ -165,6 +165,11 @@ target_include_directories( ${CMAKE_CURRENT_BINARY_DIR} ) target_link_libraries(MeshGui ${MeshGui_LIBS}) + +if (MSVC) + target_compile_options(MeshGui PRIVATE /wd4251 /wd4273 /wd4275) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(MeshGui) endif() diff --git a/src/Mod/Mesh/Gui/PreCompiled.h b/src/Mod/Mesh/Gui/PreCompiled.h index 8fe2574154..fe239dc4e1 100644 --- a/src/Mod/Mesh/Gui/PreCompiled.h +++ b/src/Mod/Mesh/Gui/PreCompiled.h @@ -25,16 +25,6 @@ #include -// point at which warnings of overly long specifiers disabled (needed for VC6) -#ifdef _MSC_VER -#pragma warning(disable : 4005) -#pragma warning(disable : 4251) -#pragma warning(disable : 4503) -#pragma warning(disable : 4275) -#pragma warning(disable : 4273) -#pragma warning(disable : 4786) // specifier longer then 255 chars -#endif - #ifdef _PreComp_ // standard @@ -57,9 +47,6 @@ #include #elif defined(FC_OS_WIN32) -#ifndef NOMINMAX -#define NOMINMAX -#endif #include #endif //_PreComp_ diff --git a/src/Mod/MeshPart/App/CMakeLists.txt b/src/Mod/MeshPart/App/CMakeLists.txt index 55ba11d4c2..881c184f15 100644 --- a/src/Mod/MeshPart/App/CMakeLists.txt +++ b/src/Mod/MeshPart/App/CMakeLists.txt @@ -85,6 +85,11 @@ endif() target_sources(MeshPart PRIVATE ${MeshPart_SRCS} ${MeshPart_Scripts}) target_link_libraries(MeshPart ${MeshPart_LIBS}) + +if (MSVC) + target_compile_options(MeshPart PRIVATE /wd4275) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(MeshPart) endif() diff --git a/src/Mod/MeshPart/App/PreCompiled.h b/src/Mod/MeshPart/App/PreCompiled.h index 6b867c5e80..b175099d14 100644 --- a/src/Mod/MeshPart/App/PreCompiled.h +++ b/src/Mod/MeshPart/App/PreCompiled.h @@ -25,13 +25,6 @@ #include -#ifdef _MSC_VER -#pragma warning(disable : 4244) -#pragma warning(disable : 4275) -#pragma warning(disable : 4290) -#pragma warning(disable : 4522) -#endif - #ifdef _PreComp_ // standard diff --git a/src/Mod/MeshPart/Gui/CMakeLists.txt b/src/Mod/MeshPart/Gui/CMakeLists.txt index 9e69f7f6be..f4032a1b5b 100644 --- a/src/Mod/MeshPart/Gui/CMakeLists.txt +++ b/src/Mod/MeshPart/Gui/CMakeLists.txt @@ -76,6 +76,11 @@ target_include_directories( target_link_directories(MeshPartGui PUBLIC ${SMESH_LIB_PATH}) target_link_libraries(MeshPartGui ${MeshPartGui_LIBS}) + +if (MSVC) + target_compile_options(MeshPartGui PRIVATE /wd4275) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(MeshPartGui) endif() diff --git a/src/Mod/MeshPart/Gui/PreCompiled.h b/src/Mod/MeshPart/Gui/PreCompiled.h index 408fcd88ed..46bfb71fac 100644 --- a/src/Mod/MeshPart/Gui/PreCompiled.h +++ b/src/Mod/MeshPart/Gui/PreCompiled.h @@ -25,12 +25,6 @@ #include -#ifdef _MSC_VER -#pragma warning(disable : 4005) -#pragma warning(disable : 4290) -#pragma warning(disable : 4275) -#endif - #ifdef _PreComp_ // STL diff --git a/src/Mod/Part/App/CMakeLists.txt b/src/Mod/Part/App/CMakeLists.txt index 96c0fa5569..79c6712bce 100644 --- a/src/Mod/Part/App/CMakeLists.txt +++ b/src/Mod/Part/App/CMakeLists.txt @@ -613,6 +613,12 @@ endif() target_sources(Part PRIVATE ${Part_SRCS} ${FCBRepAlgoAPI_SRCS}) target_link_libraries(Part ${Part_LIBS}) + +if (MSVC) + target_compile_definitions(Part PRIVATE WIN32_LEAN_AND_MEAN) + target_compile_options(Part PRIVATE /wd4251 /wd4275) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(Part) endif() diff --git a/src/Mod/Part/App/PreCompiled.h b/src/Mod/Part/App/PreCompiled.h index a537ca9c03..2328645fc5 100644 --- a/src/Mod/Part/App/PreCompiled.h +++ b/src/Mod/Part/App/PreCompiled.h @@ -27,14 +27,6 @@ #include -// point at which warnings of overly long specifiers disabled (needed for VC6) -#ifdef _MSC_VER -# pragma warning( disable : 4251 ) -# pragma warning( disable : 4275 ) -# pragma warning( disable : 4503 ) -# pragma warning( disable : 4786 ) // specifier longer then 255 chars -#endif - #ifdef _PreComp_ // standard @@ -75,13 +67,9 @@ #include "OpenCascadeAll.h" #elif defined(FC_OS_WIN32) -#define WIN32_LEAN_AND_MEAN -#ifndef NOMINMAX -# define NOMINMAX -#endif #include #include -#endif //_PreComp_ +#endif #ifndef _Standard_Version_HeaderFile # include diff --git a/src/Mod/Part/Gui/CMakeLists.txt b/src/Mod/Part/Gui/CMakeLists.txt index 36830514ec..46eb0738cb 100644 --- a/src/Mod/Part/Gui/CMakeLists.txt +++ b/src/Mod/Part/Gui/CMakeLists.txt @@ -279,6 +279,11 @@ target_include_directories( ${QtConcurrent_INCLUDE_DIRS} ) target_link_libraries(PartGui ${PartGui_LIBS}) + +if (MSVC) + target_compile_options(PartGui PRIVATE /wd4251 /wd4273) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(PartGui) endif() diff --git a/src/Mod/Part/Gui/PreCompiled.h b/src/Mod/Part/Gui/PreCompiled.h index 9663515d0b..b49104f095 100644 --- a/src/Mod/Part/Gui/PreCompiled.h +++ b/src/Mod/Part/Gui/PreCompiled.h @@ -27,18 +27,8 @@ #include -// point at which warnings of overly long specifiers disabled (needed for VC6) -#ifdef _MSC_VER -# pragma warning( disable : 4251 ) -# pragma warning( disable : 4503 ) -# pragma warning( disable : 4786 ) // specifier longer then 255 chars -# pragma warning( disable : 4273 ) -#endif #ifdef FC_OS_WIN32 -# ifndef NOMINMAX -# define NOMINMAX -# endif # include #endif diff --git a/src/Mod/PartDesign/App/CMakeLists.txt b/src/Mod/PartDesign/App/CMakeLists.txt index db65f36426..0eb3e12334 100644 --- a/src/Mod/PartDesign/App/CMakeLists.txt +++ b/src/Mod/PartDesign/App/CMakeLists.txt @@ -144,6 +144,11 @@ target_include_directories( target_link_directories(PartDesign PUBLIC ${OCC_LIBRARY_DIR}) target_link_libraries(PartDesign ${PartDesign_LIBS}) + +if (MSVC) + target_compile_options(PartDesign PRIVATE /wd4275) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(PartDesign) endif() diff --git a/src/Mod/PartDesign/App/PreCompiled.h b/src/Mod/PartDesign/App/PreCompiled.h index 8fac6ad1b1..90618407a5 100644 --- a/src/Mod/PartDesign/App/PreCompiled.h +++ b/src/Mod/PartDesign/App/PreCompiled.h @@ -25,13 +25,6 @@ #include -#ifdef _MSC_VER -// disable warning triggered by use of Part::FaceMaker -// see forum thread "Warning C4275 non-dll class used as base for dll class" -// https://forum.freecad.org/viewtopic.php?f=10&t=17542 -# pragma warning( disable : 4275) -#endif - #ifdef _PreComp_ // stl diff --git a/src/Mod/PartDesign/Gui/PreCompiled.h b/src/Mod/PartDesign/Gui/PreCompiled.h index 2c3a580028..a11e46bab9 100644 --- a/src/Mod/PartDesign/Gui/PreCompiled.h +++ b/src/Mod/PartDesign/Gui/PreCompiled.h @@ -25,16 +25,9 @@ #include -#ifdef _MSC_VER -# pragma warning(disable : 4005) -#endif - #ifdef _PreComp_ #ifdef FC_OS_WIN32 -#ifndef NOMINMAX -#define NOMINMAX -#endif #include #endif diff --git a/src/Mod/Points/App/PreCompiled.h b/src/Mod/Points/App/PreCompiled.h index a3ffa78c8b..3f4dfc9306 100644 --- a/src/Mod/Points/App/PreCompiled.h +++ b/src/Mod/Points/App/PreCompiled.h @@ -25,13 +25,6 @@ #include -// point at which warnings of overly long specifiers disabled (needed for VC6) -#ifdef _MSC_VER -#pragma warning(disable : 4181) -#pragma warning(disable : 4305) -#pragma warning(disable : 4522) -#endif - #ifdef _PreComp_ // standard diff --git a/src/Mod/ReverseEngineering/App/CMakeLists.txt b/src/Mod/ReverseEngineering/App/CMakeLists.txt index a8343e0c17..63249bec7d 100644 --- a/src/Mod/ReverseEngineering/App/CMakeLists.txt +++ b/src/Mod/ReverseEngineering/App/CMakeLists.txt @@ -74,6 +74,11 @@ target_include_directories( ${FLANN_INCLUDE_DIRS} ) target_link_libraries(ReverseEngineering ${Reen_LIBS}) + +if (MSVC) + target_compile_options(ReverseEngineering PRIVATE /wd4275) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(ReverseEngineering) endif() diff --git a/src/Mod/ReverseEngineering/App/PreCompiled.h b/src/Mod/ReverseEngineering/App/PreCompiled.h index 2f11363c4d..5e279d222a 100644 --- a/src/Mod/ReverseEngineering/App/PreCompiled.h +++ b/src/Mod/ReverseEngineering/App/PreCompiled.h @@ -25,14 +25,6 @@ #include -#ifdef _MSC_VER -#pragma warning(disable : 4181) -#pragma warning(disable : 4267) -#pragma warning(disable : 4275) -#pragma warning(disable : 4305) -#pragma warning(disable : 4522) -#endif - // pcl headers include instead of #ifndef BOOST_BIND_GLOBAL_PLACEHOLDERS #define BOOST_BIND_GLOBAL_PLACEHOLDERS diff --git a/src/Mod/ReverseEngineering/Gui/CMakeLists.txt b/src/Mod/ReverseEngineering/Gui/CMakeLists.txt index 5d268bea53..3bbe834167 100644 --- a/src/Mod/ReverseEngineering/Gui/CMakeLists.txt +++ b/src/Mod/ReverseEngineering/Gui/CMakeLists.txt @@ -69,6 +69,11 @@ target_include_directories( ) target_link_libraries(ReverseEngineeringGui ${ReenGui_LIBS}) + +if (MSVC) + target_compile_options(ReverseEngineeringGui PRIVATE /wd4275) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(ReverseEngineeringGui) endif() diff --git a/src/Mod/ReverseEngineering/Gui/PreCompiled.h b/src/Mod/ReverseEngineering/Gui/PreCompiled.h index 8711639d49..9304374b8e 100644 --- a/src/Mod/ReverseEngineering/Gui/PreCompiled.h +++ b/src/Mod/ReverseEngineering/Gui/PreCompiled.h @@ -25,14 +25,6 @@ #include -#ifdef _MSC_VER -#pragma warning(disable : 4181) -#pragma warning(disable : 4267) -#pragma warning(disable : 4275) -#pragma warning(disable : 4305) -#pragma warning(disable : 4522) -#endif - #ifdef _PreComp_ // standard diff --git a/src/Mod/Robot/Gui/CMakeLists.txt b/src/Mod/Robot/Gui/CMakeLists.txt index 5cfe86b004..1fcf6d5ec0 100644 --- a/src/Mod/Robot/Gui/CMakeLists.txt +++ b/src/Mod/Robot/Gui/CMakeLists.txt @@ -122,6 +122,11 @@ target_include_directories( ) target_link_libraries(RobotGui ${RobotGui_LIBS}) + +if (MSVC) + target_compile_options(RobotGui PRIVATE /wd4273) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(RobotGui) endif() diff --git a/src/Mod/Robot/Gui/PreCompiled.h b/src/Mod/Robot/Gui/PreCompiled.h index d99738ef53..a83e4d0036 100644 --- a/src/Mod/Robot/Gui/PreCompiled.h +++ b/src/Mod/Robot/Gui/PreCompiled.h @@ -38,11 +38,6 @@ #define RobotGuiExport #endif -#ifdef _MSC_VER -#pragma warning(disable : 4005) -#pragma warning(disable : 4273) -#endif - #ifdef _PreComp_ // STL diff --git a/src/Mod/Sandbox/Gui/CMakeLists.txt b/src/Mod/Sandbox/Gui/CMakeLists.txt index 9838a1be62..a1c259387c 100644 --- a/src/Mod/Sandbox/Gui/CMakeLists.txt +++ b/src/Mod/Sandbox/Gui/CMakeLists.txt @@ -57,6 +57,10 @@ set (SandboxGui_Scripts add_library(SandboxGui SHARED ${SandboxGui_SRCS} ${SandboxGui_Scripts}) target_link_libraries(SandboxGui ${SandboxGui_LIBS}) +if (MSVC) + target_compile_definitions(SandboxGui PRIVATE WIN32_LEAN_AND_MEAN) +endif() + fc_target_copy_resource_flat(SandboxGui ${CMAKE_CURRENT_SOURCE_DIR} diff --git a/src/Mod/Sandbox/Gui/Command.cpp b/src/Mod/Sandbox/Gui/Command.cpp index 4351b7ddd7..2c6e411ff1 100644 --- a/src/Mod/Sandbox/Gui/Command.cpp +++ b/src/Mod/Sandbox/Gui/Command.cpp @@ -24,8 +24,6 @@ #include "PreCompiled.h" #ifndef _PreComp_ # ifdef FC_OS_WIN32 -# define WIN32_LEAN_AND_MEAN -# define NOMINMAX # include # endif # include diff --git a/src/Mod/Sketcher/App/CMakeLists.txt b/src/Mod/Sketcher/App/CMakeLists.txt index 45c11cc7b9..4e091be591 100644 --- a/src/Mod/Sketcher/App/CMakeLists.txt +++ b/src/Mod/Sketcher/App/CMakeLists.txt @@ -149,6 +149,11 @@ SET(Sketcher_PCH_SRCS target_sources(Sketcher PRIVATE ${Sketcher_SRCS}) target_link_libraries(Sketcher ${Sketcher_LIBS}) + +if (MSVC) + target_compile_options(Sketcher PRIVATE /wd4251) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(Sketcher) endif() diff --git a/src/Mod/Sketcher/App/PreCompiled.h b/src/Mod/Sketcher/App/PreCompiled.h index b51f4033d0..193ddb615e 100644 --- a/src/Mod/Sketcher/App/PreCompiled.h +++ b/src/Mod/Sketcher/App/PreCompiled.h @@ -25,9 +25,6 @@ #include -#ifdef _MSC_VER -#pragma warning(disable : 4251) -#endif #ifdef _PreComp_ @@ -111,9 +108,6 @@ #include #elif defined(FC_OS_WIN32) -#ifndef NOMINMAX -#define NOMINMAX -#endif #include #endif // _PreComp_ diff --git a/src/Mod/Sketcher/Gui/PreCompiled.h b/src/Mod/Sketcher/Gui/PreCompiled.h index 0afecab80c..57d3eb89bd 100644 --- a/src/Mod/Sketcher/Gui/PreCompiled.h +++ b/src/Mod/Sketcher/Gui/PreCompiled.h @@ -25,10 +25,6 @@ #include -#ifdef _MSC_VER -#pragma warning(disable : 4005) -#endif - #ifdef _PreComp_ // standard @@ -49,9 +45,6 @@ #include #ifdef FC_OS_WIN32 -#ifndef NOMINMAX -#define NOMINMAX -#endif #include #endif diff --git a/src/Mod/Spreadsheet/App/CMakeLists.txt b/src/Mod/Spreadsheet/App/CMakeLists.txt index 227543ce1d..6c8fbbe046 100644 --- a/src/Mod/Spreadsheet/App/CMakeLists.txt +++ b/src/Mod/Spreadsheet/App/CMakeLists.txt @@ -56,6 +56,11 @@ target_include_directories( ) target_link_libraries(Spreadsheet ${Spreadsheet_LIBS}) + +if (MSVC) + target_compile_options(Spreadsheet PRIVATE /wd4251 /wd4275) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(Spreadsheet) endif() diff --git a/src/Mod/Spreadsheet/App/PreCompiled.h b/src/Mod/Spreadsheet/App/PreCompiled.h index 5d2143af58..f9c4e19b4f 100644 --- a/src/Mod/Spreadsheet/App/PreCompiled.h +++ b/src/Mod/Spreadsheet/App/PreCompiled.h @@ -26,14 +26,6 @@ #include -// point at which warnings of overly long specifiers disabled (needed for VC6) -#ifdef _MSC_VER -#pragma warning(disable : 4251) -#pragma warning(disable : 4275) -#pragma warning(disable : 4503) -#pragma warning(disable : 4786) // specifier longer then 255 chars -#endif - #ifdef _PreComp_ // STL diff --git a/src/Mod/Spreadsheet/Gui/CMakeLists.txt b/src/Mod/Spreadsheet/Gui/CMakeLists.txt index 255efcab84..507c96fe42 100644 --- a/src/Mod/Spreadsheet/Gui/CMakeLists.txt +++ b/src/Mod/Spreadsheet/Gui/CMakeLists.txt @@ -113,6 +113,11 @@ target_include_directories( ) target_link_libraries(SpreadsheetGui ${SpreadsheetGui_LIBS}) + +if (MSVC) + target_compile_options(SpreadsheetGui PRIVATE /wd4251) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(SpreadsheetGui) endif() diff --git a/src/Mod/Spreadsheet/Gui/PreCompiled.h b/src/Mod/Spreadsheet/Gui/PreCompiled.h index 0828f48db3..bd8a17bab9 100644 --- a/src/Mod/Spreadsheet/Gui/PreCompiled.h +++ b/src/Mod/Spreadsheet/Gui/PreCompiled.h @@ -26,14 +26,6 @@ #include -// point at which warnings of overly long specifiers disabled (needed for VC6) -#ifdef _MSC_VER -#pragma warning(disable : 4005) -#pragma warning(disable : 4251) -#pragma warning(disable : 4503) -#pragma warning(disable : 4786) // specifier longer then 255 chars -#endif - #ifdef _PreComp_ // standard diff --git a/src/Mod/Start/App/PreCompiled.h b/src/Mod/Start/App/PreCompiled.h index 4e742c98a5..8de06e5dd6 100644 --- a/src/Mod/Start/App/PreCompiled.h +++ b/src/Mod/Start/App/PreCompiled.h @@ -26,10 +26,6 @@ #include -#ifdef _MSC_VER -#pragma warning(disable : 5208) -#endif - #ifdef _PreComp_ // standard diff --git a/src/Mod/Start/Gui/PreCompiled.h b/src/Mod/Start/Gui/PreCompiled.h index a5bd694f50..3812963c2c 100644 --- a/src/Mod/Start/Gui/PreCompiled.h +++ b/src/Mod/Start/Gui/PreCompiled.h @@ -26,10 +26,6 @@ #include -#ifdef _MSC_VER -#pragma warning(disable : 5208) -#endif - #ifdef _PreComp_ // standard diff --git a/src/Mod/TechDraw/App/CMakeLists.txt b/src/Mod/TechDraw/App/CMakeLists.txt index 45c5b290de..b2d7861269 100644 --- a/src/Mod/TechDraw/App/CMakeLists.txt +++ b/src/Mod/TechDraw/App/CMakeLists.txt @@ -289,6 +289,11 @@ target_include_directories( ) target_link_libraries(TechDraw ${TechDrawLIBS} ${TechDraw}) + +if (MSVC) + target_compile_options(TechDraw PRIVATE /wd4275) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(TechDraw) endif() diff --git a/src/Mod/TechDraw/App/PreCompiled.h b/src/Mod/TechDraw/App/PreCompiled.h index da9dad16b5..26d274b0e3 100644 --- a/src/Mod/TechDraw/App/PreCompiled.h +++ b/src/Mod/TechDraw/App/PreCompiled.h @@ -25,10 +25,6 @@ #include -#ifdef _MSC_VER -# pragma warning( disable : 4275 ) -#endif - #ifdef _PreComp_ // standard diff --git a/src/Mod/TechDraw/Gui/CMakeLists.txt b/src/Mod/TechDraw/Gui/CMakeLists.txt index 1fddf25023..289dfd18b6 100644 --- a/src/Mod/TechDraw/Gui/CMakeLists.txt +++ b/src/Mod/TechDraw/Gui/CMakeLists.txt @@ -485,6 +485,11 @@ target_include_directories( ) target_link_libraries(TechDrawGui ${TechDrawGui_LIBS}) + +if (MSVC) + target_compile_definitions(TechDrawGui PRIVATE WIN32_LEAN_AND_MEAN) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(TechDrawGui) endif() diff --git a/src/Mod/TechDraw/Gui/PreCompiled.h b/src/Mod/TechDraw/Gui/PreCompiled.h index 544f0447ff..d5a479dc8a 100644 --- a/src/Mod/TechDraw/Gui/PreCompiled.h +++ b/src/Mod/TechDraw/Gui/PreCompiled.h @@ -25,14 +25,7 @@ #include -#ifdef _MSC_VER -# pragma warning(disable : 4005) -#endif - #ifdef FC_OS_WIN32 -#ifndef NOMINMAX -#define NOMINMAX -#endif #endif #ifdef _PreComp_ @@ -51,7 +44,6 @@ #include #ifdef FC_OS_WIN32 -# define WIN32_LEAN_AND_MEAN # include # undef small #endif diff --git a/src/Mod/Test/Gui/CMakeLists.txt b/src/Mod/Test/Gui/CMakeLists.txt index 131cd3a6c5..dbc3a9d6ef 100644 --- a/src/Mod/Test/Gui/CMakeLists.txt +++ b/src/Mod/Test/Gui/CMakeLists.txt @@ -60,6 +60,11 @@ target_include_directories( target_link_libraries(QtUnitGui ${TestGui_LIBS}) add_dependencies(QtUnitGui Test) + +if (MSVC) + target_compile_options(QtUnitGui PRIVATE /wd4251) +endif() + if (FREECAD_WARN_ERROR) target_compile_warn_error(QtUnitGui) endif() diff --git a/src/Mod/Test/Gui/PreCompiled.h b/src/Mod/Test/Gui/PreCompiled.h index d9eab9d885..96c9e25108 100644 --- a/src/Mod/Test/Gui/PreCompiled.h +++ b/src/Mod/Test/Gui/PreCompiled.h @@ -27,13 +27,6 @@ #ifdef _PreComp_ -// point at which warnings of overly long specifiers disabled (needed for VC6) -#ifdef _MSC_VER -#pragma warning(disable : 4251) -#pragma warning(disable : 4503) -#pragma warning(disable : 4786) // specifier longer then 255 chars -#endif - // Qt Toolkit #include #include diff --git a/src/Tools/embedded/Qt/cxx/CMakeLists.txt b/src/Tools/embedded/Qt/cxx/CMakeLists.txt index 8640751f85..ad7aa735a3 100644 --- a/src/Tools/embedded/Qt/cxx/CMakeLists.txt +++ b/src/Tools/embedded/Qt/cxx/CMakeLists.txt @@ -105,3 +105,7 @@ endif() add_library(FreeCADPlugin SHARED ${FreeCADPlugin_SRCS}) target_link_libraries(FreeCADPlugin ${FreeCADPlugin_LIBS}) + +if (MSVC) + target_compile_options(FreeCADPlugin PRIVATE /wd4251) +endif() diff --git a/src/Tools/embedded/Qt/cxx/PreCompiled.h b/src/Tools/embedded/Qt/cxx/PreCompiled.h index 592d559624..2f6004a1db 100644 --- a/src/Tools/embedded/Qt/cxx/PreCompiled.h +++ b/src/Tools/embedded/Qt/cxx/PreCompiled.h @@ -1,10 +1,6 @@ #ifndef __PRECOMPILED__ #define __PRECOMPILED__ -#ifdef _MSC_VER -#pragma warning(disable : 4251) -#endif - #ifdef FC_OS_WIN32 // cmake generates this define #if defined(FreeCADPlugin_EXPORTS) diff --git a/tests/src/Base/Reader.cpp b/tests/src/Base/Reader.cpp index 27cee37d6e..e4b925a939 100644 --- a/tests/src/Base/Reader.cpp +++ b/tests/src/Base/Reader.cpp @@ -4,6 +4,7 @@ #ifdef _MSC_VER #pragma warning(disable : 4996) +#pragma warning(disable : 4305) #endif #include "Base/Exception.h"