Merge pull request #23746 from 3x380V/cmake

CMake: Use scoped include and library directories
This commit is contained in:
Chris Hennes
2025-09-10 21:54:51 -05:00
committed by GitHub
45 changed files with 509 additions and 349 deletions

View File

@@ -54,13 +54,23 @@ fc_copy_file_if_different(
# -----------------------------------------------------------------------------
include_directories(
target_include_directories(
FreeCADApp
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}/src
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
target_include_directories(
FreeCADApp
SYSTEM
PUBLIC
${QtCore_INCLUDE_DIRS}
${QtXml_INCLUDE_DIRS}
)
set(FreeCADApp_LIBS
FreeCADBase
${Boost_LIBRARIES}
@@ -71,10 +81,6 @@ if(BUILD_TRACY_FRAME_PROFILER)
list(APPEND FreeCADApp_LIBS TracyClient)
endif()
include_directories(
${QtCore_INCLUDE_DIRS}
${QtXml_INCLUDE_DIRS}
)
list(APPEND FreeCADApp_LIBS
${QtCore_LIBRARIES}
${QtXml_LIBRARIES}

View File

@@ -11,7 +11,9 @@ if(BUILD_TRACY_FRAME_PROFILER)
add_definitions(-DBUILD_TRACY_FRAME_PROFILER)
endif()
include_directories(
target_include_directories(
FreeCADBase
PRIVATE
${CMAKE_BINARY_DIR}/src
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
@@ -25,6 +27,7 @@ target_include_directories(
${Boost_INCLUDE_DIRS}
${PYCXX_INCLUDE_DIR}
${Python3_INCLUDE_DIRS}
${QtCore_INCLUDE_DIRS}
${XercesC_INCLUDE_DIRS}
${ZLIB_INCLUDE_DIR}
${ZIPIOS_INCLUDES}
@@ -73,10 +76,6 @@ else(MSVC)
)
endif(MSVC)
include_directories(
${QtCore_INCLUDE_DIRS}
)
if(BUILD_TRACY_FRAME_PROFILER)
list(APPEND FreeCADBase_LIBS TracyClient)
endif()

View File

@@ -60,7 +60,9 @@ if (BUILD_TRACY_FRAME_PROFILER)
add_definitions(-DBUILD_TRACY_FRAME_PROFILER)
endif()
include_directories(
target_include_directories(
FreeCADGui
PUBLIC
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/Quarter
@@ -86,7 +88,10 @@ target_include_directories(
)
if(MSVC)
include_directories(
target_include_directories(
FreeCADGui
SYSTEM
PUBLIC
${CMAKE_SOURCE_DIR}/src/3rdParty/OpenGL/api
)
endif(MSVC)
@@ -191,7 +196,12 @@ IF(SPNAV_FOUND AND FREECAD_USE_3DCONNEXION_LEGACY)
add_definitions(-DSPNAV_USE_X11)
if (FREECAD_QT_MAJOR_VERSION EQUAL 5 AND UNIX AND NOT APPLE)
find_package(Qt5X11Extras REQUIRED)
include_directories(SYSTEM ${Qt5X11Extras_INCLUDE_DIRS})
target_include_directories(
FreeCADGui
SYSTEM
PUBLIC
${Qt5X11Extras_INCLUDE_DIRS}
)
list(APPEND FreeCADGui_LIBS ${Qt5X11Extras_LIBRARIES})
# Note that Qt6 has removed the QtX11Extras files
endif()
@@ -228,8 +238,10 @@ IF(SPNAV_FOUND AND FREECAD_USE_3DCONNEXION_LEGACY)
)
add_definitions(-DSPNAV_FOUND)
include_directories(
target_include_directories(
FreeCADGui
SYSTEM
PUBLIC
${SPNAV_INCLUDE_DIR}
)
list(APPEND FreeCADGui_LIBS
@@ -239,8 +251,10 @@ ENDIF(SPNAV_FOUND AND FREECAD_USE_3DCONNEXION_LEGACY)
IF(OCULUS_FOUND)
add_definitions(-DOCULUS_FOUND)
include_directories(
target_include_directories(
FreeCADGui
SYSTEM
PUBLIC
${OCULUS_INCLUDE_DIRS}
)
list(APPEND FreeCADGui_LIBS
@@ -250,8 +264,10 @@ ENDIF(OCULUS_FOUND)
if(FREECAD_USE_SHIBOKEN)
add_definitions(-DHAVE_SHIBOKEN${PYSIDE_MAJOR_VERSION})
include_directories(
target_include_directories(
FreeCADGui
SYSTEM
PUBLIC
${SHIBOKEN_INCLUDE_DIR}
)
if (SHIBOKEN_LIBRARY)
@@ -272,8 +288,10 @@ if(FREECAD_USE_SHIBOKEN)
endif(FREECAD_USE_SHIBOKEN)
if(FREECAD_USE_PYSIDE)
include_directories(
target_include_directories(
FreeCADGui
SYSTEM
PUBLIC
${PYSIDE_INCLUDE_DIR}
${PYSIDE_INCLUDE_DIR}/QtCore
${PYSIDE_INCLUDE_DIR}/QtGui

View File

@@ -1,17 +1,10 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
set(Assembly_LIBS
Part
PartDesign
Spreadsheet
Spreadsheet
FreeCADApp
OndselSolver
OndselSolver
)
generate_from_py(AssemblyObject)
@@ -71,6 +64,14 @@ SET(Assembly_SRCS
)
add_library(Assembly SHARED ${Assembly_SRCS})
target_include_directories(
Assembly
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
target_link_libraries(Assembly ${Assembly_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(Assembly)

View File

@@ -1,7 +1,3 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}
)
set(AssemblyGui_LIBS
Assembly
@@ -85,6 +81,13 @@ SET(AssemblyGuiIcon_SVG
add_library(AssemblyGui SHARED ${AssemblyGui_SRCS} ${AssemblyGuiIcon_SVG})
target_include_directories(
AssemblyGui
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}
)
if(WIN32)
target_compile_definitions(AssemblyGui PRIVATE _USE_MATH_DEFINES)
endif(WIN32)

View File

@@ -2,19 +2,6 @@ if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
add_definitions(-fext-numeric-literals) #fix for gcc and qt5
endif()
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
include_directories(
SYSTEM
${OCC_INCLUDE_DIR}
${EIGEN3_INCLUDE_DIR}
)
set(Path_LIBS
Part
area-native
@@ -117,6 +104,23 @@ SOURCE_GROUP("Module" FILES ${Mod_SRCS})
#endif(WIN32)
add_library(Path SHARED ${Path_SRCS})
target_include_directories(
Path
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
target_include_directories(
Path
SYSTEM
PUBLIC
${OCC_INCLUDE_DIR}
${EIGEN3_INCLUDE_DIR}
)
target_link_libraries(Path ${Path_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(Path)

View File

@@ -1,8 +1,3 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
set(PathGui_LIBS
Path
@@ -75,6 +70,13 @@ SET(PathGuiIcon_SVG
)
add_library(PathGui SHARED ${PathGui_SRCS} ${PathGuiIcon_SVG})
target_include_directories(
PathGui
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
target_link_libraries(PathGui ${PathGui_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(PathGui)

View File

@@ -1,11 +1,4 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
set(PathSimulator_LIBS
Path
Part
@@ -35,6 +28,14 @@ generate_from_py(PathSim)
SOURCE_GROUP("Python" FILES ${Python_SRCS})
add_library(PathSimulator SHARED ${PathSimulator_SRCS})
target_include_directories(
PathSimulator
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
target_link_libraries(PathSimulator ${PathSimulator_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(PathSimulator)

View File

@@ -1,9 +1,3 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
set(CAMSimulator_LIBS
Path
@@ -89,6 +83,14 @@ if(FREECAD_USE_PCH)
endif(FREECAD_USE_PCH)
add_library(CAMSimulator SHARED ${CAMSimulator_SRCS})
target_include_directories(
CAMSimulator
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
target_link_libraries(CAMSimulator ${CAMSimulator_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(CAMSimulator)

View File

@@ -3,13 +3,6 @@ if(MSVC)
endif(MSVC)
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
set(DraftUtils_LIBS
Part
FreeCADApp
@@ -23,6 +16,14 @@ SET(DraftUtils_SRCS
)
add_library(DraftUtils SHARED ${DraftUtils_SRCS})
target_include_directories(
DraftUtils
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
target_link_libraries(DraftUtils ${DraftUtils_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(DraftUtils)

View File

@@ -14,25 +14,6 @@ if(BUILD_FEM_NETGEN)
add_definitions(-DFCWithNetgen ${NETGEN_DEFINITIONS})
endif(BUILD_FEM_NETGEN)
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
include_directories(
SYSTEM
${SMESH_INCLUDE_DIR}
${NETGEN_INCLUDE_DIRS}
${VTK_INCLUDE_DIRS}
)
link_directories(${SMESH_LIB_PATH})
set(Fem_LIBS
Part
FreeCADApp
@@ -208,6 +189,26 @@ if(FREECAD_USE_PCH)
endif(FREECAD_USE_PCH)
add_library(Fem SHARED ${Fem_SRCS})
target_include_directories(
Fem
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
target_include_directories(
Fem
SYSTEM
PUBLIC
${SMESH_INCLUDE_DIR}
${NETGEN_INCLUDE_DIRS}
${VTK_INCLUDE_DIRS}
)
target_link_directories(Fem PUBLIC ${SMESH_LIB_PATH})
target_link_libraries(Fem ${Fem_LIBS} ${VTK_LIBRARIES})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(Fem)

View File

@@ -13,20 +13,6 @@ if(BUILD_FEM_NETGEN)
add_definitions(-DFCWithNetgen)
endif(BUILD_FEM_NETGEN)
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
include_directories(
SYSTEM
${SMESH_INCLUDE_DIR}
${VTK_INCLUDE_DIRS}
)
link_directories(${SMESH_LIB_PATH})
set(FemGui_LIBS
Fem
FreeCADGui
@@ -399,6 +385,24 @@ SET(FemGuiSymbol_IV
)
add_library(FemGui SHARED ${FemGui_SRCS} ${FemGuiIcon_SVG} ${FemGuiSymbol_IV})
target_include_directories(
FemGui
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
target_include_directories(
FemGui
SYSTEM
PUBLIC
${SMESH_INCLUDE_DIR}
${VTK_INCLUDE_DIRS}
)
target_link_directories(FemGui PUBLIC ${SMESH_LIB_PATH})
target_link_libraries(FemGui ${FemGui_LIBS} ${VTK_LIBRARIES})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(FemGui)

View File

@@ -1,9 +1,3 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
)
set(Import_LIBS
Part
${OCC_OCAF_LIBRARIES}
@@ -79,6 +73,13 @@ SOURCE_GROUP("SCL" FILES ${SCL_Resources})
generate_from_py(StepShape)
add_library(Import SHARED ${Import_SRCS})
target_include_directories(
Import
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
)
target_link_libraries(Import ${Import_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(Import)

View File

@@ -1,8 +1,3 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}
)
set(ImportGui_LIBS
FreeCADGui
PartGui
@@ -30,6 +25,12 @@ SET(ImportGui_SRCS
)
add_library(ImportGui SHARED ${ImportGui_SRCS})
target_include_directories(
ImportGui
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}
)
target_link_libraries(ImportGui ${ImportGui_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(ImportGui)

View File

@@ -1,9 +1,3 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
)
set(Inspection_LIBS
FreeCADApp
Mesh
@@ -30,6 +24,14 @@ if(FREECAD_USE_PCH)
endif(FREECAD_USE_PCH)
add_library(Inspection SHARED ${Inspection_SRCS} ${Inspection_Scripts})
target_include_directories(
Inspection
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
)
target_link_libraries(Inspection ${Inspection_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(Inspection)

View File

@@ -1,8 +1,3 @@
include_directories(
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
set(InspectionGui_LIBS
Inspection
FreeCADGui
@@ -48,7 +43,19 @@ SET(InspectionGuiIcon_SVG
Resources/icons/InspectionWorkbench.svg
)
add_library(InspectionGui SHARED ${InspectionGui_SRCS} ${InspectionGui_Scripts} ${InspectionGuiIcon_SVG})
add_library(InspectionGui SHARED
${InspectionGui_SRCS}
${InspectionGui_Scripts}
${InspectionGuiIcon_SVG}
)
target_include_directories(
InspectionGui
PRIVATE
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
target_link_libraries(InspectionGui ${InspectionGui_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(InspectionGui)

View File

@@ -10,35 +10,10 @@ if(BUILD_MATERIAL_EXTERNAL)
add_definitions(-DBUILD_MATERIAL_EXTERNAL)
endif(BUILD_MATERIAL_EXTERNAL)
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}/src
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
)
include_directories(
SYSTEM
${YAML_CPP_INCLUDE_DIR}
)
if(BUILD_MATERIAL_EXTERNAL)
include_directories(
${CMAKE_SOURCE_DIR}/src/3rdParty/lru-cache/include
)
endif(BUILD_MATERIAL_EXTERNAL)
link_directories(${YAML_CPP_LIBRARY_DIR})
set(Materials_LIBS
FreeCADApp
)
include_directories(
SYSTEM
${QtConcurrent_INCLUDE_DIRS}
)
list(APPEND Materials_LIBS
${QtConcurrent_LIBRARIES}
)
@@ -166,6 +141,29 @@ if(FREECAD_USE_PCH)
endif(FREECAD_USE_PCH)
add_library(Materials SHARED ${Materials_SRCS})
target_include_directories(
Materials
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}/src
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
)
target_include_directories(
Materials
SYSTEM
PUBLIC
${YAML_CPP_INCLUDE_DIR}
${QtConcurrent_INCLUDE_DIRS}
)
if(BUILD_MATERIAL_EXTERNAL)
target_include_directories(Materials PUBLIC ${CMAKE_SOURCE_DIR}/src/3rdParty/lru-cache/include)
endif(BUILD_MATERIAL_EXTERNAL)
target_link_directories(Materials PUBLIC ${YAML_CPP_LIBRARY_DIR})
target_link_libraries(Materials ${Materials_LIBS})
if(FREECAD_WARN_ERROR)

View File

@@ -8,22 +8,11 @@ if(BUILD_MATERIAL_EXTERNAL)
add_definitions(-DBUILD_MATERIAL_EXTERNAL)
endif(BUILD_MATERIAL_EXTERNAL)
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
set(MatGui_LIBS
Materials
FreeCADGui
)
include_directories(
SYSTEM
${QtConcurrent_INCLUDE_DIRS}
)
list(APPEND MatGui_LIBS
${QtConcurrent_LIBRARIES}
)
@@ -172,7 +161,28 @@ SET(Material_Ui_Files
Resources/ui/materials-editor.ui
)
add_library(MatGui SHARED ${MatGui_SRCS} ${MatGuiIcon_SVG} ${MatGuiImages} ${Material_Ui_Files})
add_library(MatGui SHARED
${MatGui_SRCS}
${MatGuiIcon_SVG}
${MatGuiImages}
${Material_Ui_Files}
)
target_include_directories(
MatGui
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
target_include_directories(
MatGui
SYSTEM
PUBLIC
${QtConcurrent_INCLUDE_DIRS}
)
target_link_libraries(MatGui ${MatGui_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(MatGui)

View File

@@ -1,10 +1,3 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}/src
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
set(Measure_LIBS
Part
FreeCADApp
@@ -70,6 +63,16 @@ if(FREECAD_USE_PCH)
endif(FREECAD_USE_PCH)
add_library(Measure SHARED ${Measure_SRCS})
target_include_directories(
Measure
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}/src
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
target_link_libraries(Measure ${Measure_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(Measure)

View File

@@ -1,10 +1,3 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
set(MeasureGui_LIBS
Measure
#Part
@@ -76,6 +69,14 @@ SET(MeasureGuiIcon_SVG
)
add_library(MeasureGui SHARED ${MeasureGui_SRCS} ${MeasureGuiIcon_SVG})
target_include_directories(
MeasureGui
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
target_link_libraries(MeasureGui ${MeasureGui_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(MeasureGui)

View File

@@ -4,17 +4,20 @@ if(WIN32)
add_definitions(-DFCAppMesh -DWM4_FOUNDATION_DLL_EXPORT)
endif(WIN32)
include_directories(
target_include_directories(
Mesh
PRIVATE
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_SOURCE_DIR}/src/3rdParty/libkdtree
)
target_include_directories(
Mesh
SYSTEM
PUBLIC
${CMAKE_SOURCE_DIR}/src/3rdParty/libkdtree
${EIGEN3_INCLUDE_DIR}
${QtConcurrent_INCLUDE_DIRS}
)
set(Mesh_LIBS
@@ -22,10 +25,6 @@ set(Mesh_LIBS
FreeCADApp
)
include_directories(
SYSTEM
${QtConcurrent_INCLUDE_DIRS}
)
list(APPEND Mesh_LIBS
${QtConcurrent_LIBRARIES}
)

View File

@@ -1,7 +1,3 @@
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
)
if(MSVC)
include_directories(
${CMAKE_SOURCE_DIR}/src/3rdParty/OpenGL/api
@@ -163,6 +159,11 @@ if (EIGEN3_NO_DEPRECATED_COPY)
endif ()
add_library(MeshGui SHARED ${MeshGui_SRCS} ${MeshGuiIcon_SVG})
target_include_directories(
MeshGui
PRIVATE
${CMAKE_CURRENT_BINARY_DIR}
)
target_link_libraries(MeshGui ${MeshGui_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(MeshGui)

View File

@@ -11,7 +11,9 @@ if(BUILD_FEM_NETGEN)
add_definitions(-DHAVE_NETGEN)
endif(BUILD_FEM_NETGEN)
include_directories(
target_include_directories(
MeshPart
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
)

View File

@@ -9,14 +9,6 @@ if(BUILD_FEM_NETGEN)
add_definitions(-DHAVE_NETGEN)
endif(BUILD_FEM_NETGEN)
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
link_directories(${SMESH_LIB_PATH})
set(MeshPartGui_LIBS
MeshPart
PartGui
@@ -74,6 +66,15 @@ if(FREECAD_USE_PCH)
endif(FREECAD_USE_PCH)
add_library(MeshPartGui SHARED ${MeshPartGui_SRCS} ${MeshPartGui_Scripts} ${FLATMESH_PY_SRCS})
target_include_directories(
MeshPartGui
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
target_link_directories(MeshPartGui PUBLIC ${SMESH_LIB_PATH})
target_link_libraries(MeshPartGui ${MeshPartGui_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(MeshPartGui)

View File

@@ -1,6 +1,8 @@
add_library(Part SHARED)
include_directories(
target_include_directories(
Part
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
@@ -26,7 +28,10 @@ target_link_directories(Part PUBLIC ${OCC_LIBRARY_DIR})
if(FREETYPE_FOUND)
add_definitions(-DFCUseFreeType)
include_directories(
target_include_directories(
Part
SYSTEM
PUBLIC
${FREETYPE_INCLUDE_DIRS}
)

View File

@@ -1,10 +1,3 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
set(PartGui_LIBS
Part
FreeCADGui
@@ -21,10 +14,6 @@ if(MSVC)
)
endif(MSVC)
include_directories(
SYSTEM
${QtConcurrent_INCLUDE_DIRS}
)
list(APPEND PartGui_LIBS
${QtConcurrent_LIBRARIES}
)
@@ -273,6 +262,22 @@ SET(PartGuiIcon_SVG
)
add_library(PartGui SHARED ${PartGui_SRCS} ${PartGuiIcon_SVG})
target_include_directories(
PartGui
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
target_include_directories(
PartGui
SYSTEM
PUBLIC
${QtConcurrent_INCLUDE_DIRS}
)
target_link_libraries(PartGui ${PartGui_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(PartGui)

View File

@@ -1,15 +1,7 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
include_directories(
SYSTEM
${CMAKE_SOURCE_DIR}/src/3rdParty/json/single_include/nlohmann/
)
link_directories(${OCC_LIBRARY_DIR})
generate_from_py(Body)
generate_from_py(Feature)
@@ -141,6 +133,16 @@ SET(PartDesign_SRCS
)
add_library(PartDesign SHARED ${PartDesign_SRCS})
target_include_directories(
PartDesign
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
target_link_directories(PartDesign PUBLIC ${OCC_LIBRARY_DIR})
target_link_libraries(PartDesign ${PartDesign_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(PartDesign)

View File

@@ -1,9 +1,3 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
include_directories(
SYSTEM
${CMAKE_SOURCE_DIR}/src/3rdParty/json/single_include/nlohmann/
@@ -252,6 +246,13 @@ SET(PartDesignGuiIcon_SVG
)
add_library(PartDesignGui SHARED ${PartDesignGui_SRCS} ${PartDesignGuiIcon_SVG})
target_include_directories(
PartDesignGui
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
target_link_libraries(PartDesignGui ${PartDesignGui_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(PartDesignGui)

View File

@@ -4,7 +4,9 @@ if(WIN32)
add_definitions(-DFCAppPoints)
endif(WIN32)
include_directories(
target_include_directories(
Points
PRIVATE
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
)
@@ -14,6 +16,7 @@ target_include_directories(
SYSTEM
PUBLIC
${EIGEN3_INCLUDE_DIR}
${QtConcurrent_INCLUDE_DIRS}
)
if (NOT FREECAD_USE_EXTERNAL_E57FORMAT)
@@ -28,13 +31,6 @@ endif()
set(Points_LIBS
FreeCADApp
)
include_directories(
SYSTEM
${QtConcurrent_INCLUDE_DIRS}
)
list(APPEND Points_LIBS
${QtConcurrent_LIBRARIES}
)
@@ -77,7 +73,7 @@ endif(FREECAD_USE_PCH)
target_sources(Points PRIVATE ${Points_SRCS} ${Points_Scripts})
if (NOT FREECAD_USE_EXTERNAL_E57FORMAT)
link_directories(${CMAKE_BINARY_DIR}/src/3rdParty/libE57Format)
target_link_directories(Points PUBLIC ${CMAKE_BINARY_DIR}/src/3rdParty/libE57Format)
endif()
target_link_libraries(Points E57Format ${Points_LIBS})

View File

@@ -1,7 +1,3 @@
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
)
set(PointsGui_LIBS
Points
FreeCADGui
@@ -58,7 +54,18 @@ if(FREECAD_USE_PCH)
ADD_MSVC_PRECOMPILED_HEADER(PointsGui PreCompiled.h PreCompiled.cpp PCH_SRCS)
endif(FREECAD_USE_PCH)
add_library(PointsGui SHARED ${PointsGui_SRCS} ${PointsGui_Scripts} ${PointsGuiIcon_SVG})
add_library(PointsGui SHARED
${PointsGui_SRCS}
${PointsGui_Scripts}
${PointsGuiIcon_SVG}
)
target_include_directories(
PointsGui
PRIVATE
${CMAKE_CURRENT_BINARY_DIR}
)
target_link_libraries(PointsGui ${PointsGui_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(PointsGui)

View File

@@ -18,16 +18,6 @@ if (PCL_SAMPLE_CONSENSUS_FOUND)
add_definitions(-DHAVE_PCL_SAMPLE_CONSENSUS)
endif ()
include_directories(
${CMAKE_SOURCE_DIR}/src
)
include_directories(
SYSTEM
${PCL_INCLUDE_DIRS}
${FLANN_INCLUDE_DIRS}
)
set(Reen_LIBS
Part
Mesh
@@ -69,6 +59,20 @@ if(FREECAD_USE_PCH)
endif(FREECAD_USE_PCH)
add_library(ReverseEngineering SHARED ${Reen_SRCS})
target_include_directories(
ReverseEngineering
PRIVATE
${CMAKE_SOURCE_DIR}/src
)
target_include_directories(
ReverseEngineering
SYSTEM
PUBLIC
${PCL_INCLUDE_DIRS}
${FLANN_INCLUDE_DIRS}
)
target_link_libraries(ReverseEngineering ${Reen_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(ReverseEngineering)

View File

@@ -1,9 +1,3 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
set(ReenGui_LIBS
ReverseEngineering
MeshGui
@@ -61,7 +55,19 @@ if(FREECAD_USE_PCH)
ADD_MSVC_PRECOMPILED_HEADER(ReverseEngineeringGui PreCompiled.h PreCompiled.cpp PCH_SRCS)
endif(FREECAD_USE_PCH)
add_library(ReverseEngineeringGui SHARED ${ReenGui_SRCS} ${ReverseEngineeringGuiIcon_SVG})
add_library(ReverseEngineeringGui SHARED
${ReenGui_SRCS}
${ReverseEngineeringGuiIcon_SVG}
)
target_include_directories(
ReverseEngineeringGui
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
target_link_libraries(ReverseEngineeringGui ${ReenGui_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(ReverseEngineeringGui)

View File

@@ -1,6 +1,8 @@
add_library(Robot SHARED)
include_directories(
target_include_directories(
Robot
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}/src

View File

@@ -1,9 +1,3 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
set(RobotGui_LIBS
Robot
FreeCADGui
@@ -118,6 +112,15 @@ SET(RobotGuiIcon_SVG
)
add_library(RobotGui SHARED ${RobotGui_SRCS} ${RobotGuiIcon_SVG})
target_include_directories(
RobotGui
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
target_link_libraries(RobotGui ${RobotGui_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(RobotGui)

View File

@@ -9,7 +9,9 @@ add_library(Sketcher SHARED)
# set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DEIGEN_NO_DEBUG") # Necessary to avoid SparseQR crash with Eigen 3.2 due to a wrong assertion
include_directories(
target_include_directories(
Sketcher
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_SOURCE_DIR}

View File

@@ -1,10 +1,3 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
set(SketcherGui_LIBS
Sketcher
PartGui
@@ -189,7 +182,20 @@ SET(SketcherGuiIcon_SVG
Resources/icons/SketcherWorkbench.svg
)
add_library(SketcherGui SHARED ${SketcherGui_SRCS} ${SketcherGuiIcon_SVG})
add_library(SketcherGui SHARED
${SketcherGui_SRCS}
${SketcherGuiIcon_SVG}
)
target_include_directories(
SketcherGui
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
)
target_link_libraries(SketcherGui ${SketcherGui_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(SketcherGui)

View File

@@ -2,11 +2,6 @@ if(WIN32)
add_definitions(-DFCAppSpreadsheet)
endif(WIN32)
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
)
set(Spreadsheet_LIBS
FreeCADApp
)
@@ -52,6 +47,14 @@ if(FREECAD_USE_PCH)
endif(FREECAD_USE_PCH)
add_library(Spreadsheet SHARED ${Spreadsheet_SRCS})
target_include_directories(
Spreadsheet
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
)
target_link_libraries(Spreadsheet ${Spreadsheet_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(Spreadsheet)

View File

@@ -1,8 +1,3 @@
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
)
generate_from_py(ViewProviderSpreadsheet)
# The XML files
@@ -105,7 +100,18 @@ set(SpreadsheetGui_UIC_SRCS
DlgSettings.ui
)
add_library(SpreadsheetGui SHARED ${SpreadsheetGui_SRCS} ${SpreadsheetGuiIcon_SVG})
add_library(SpreadsheetGui SHARED
${SpreadsheetGui_SRCS}
${SpreadsheetGuiIcon_SVG}
)
target_include_directories(
SpreadsheetGui
PRIVATE
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
)
target_link_libraries(SpreadsheetGui ${SpreadsheetGui_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(SpreadsheetGui)

View File

@@ -21,10 +21,6 @@
# * *
# ***************************************************************************/
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
)
set(StartGui_LIBS
Start
FreeCADGui
@@ -97,7 +93,18 @@ if (APPLE)
endif()
endif()
add_library(StartGui SHARED ${StartGui_SRCS} ${StartGuiIcon_SVG} ${StartGuiThumbnail_PNG})
add_library(StartGui SHARED
${StartGui_SRCS}
${StartGuiIcon_SVG}
${StartGuiThumbnail_PNG}
)
target_include_directories(
StartGui
PRIVATE
${CMAKE_CURRENT_BINARY_DIR}
)
# target_link_libraries(StartGui ${StartGui_LIBS} Qt::Quick Qt::Qml Qt::QuickWidgets)
target_link_libraries(StartGui ${StartGui_LIBS})
if (FREECAD_WARN_ERROR)

View File

@@ -1,16 +1,3 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}/src
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
)
include_directories(
SYSTEM
${FREETYPE_INCLUDE_DIRS}
)
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Blending)
generate_from_py(Blending/BlendPoint)
@@ -65,8 +52,25 @@ if(FREECAD_USE_PCH)
ADD_MSVC_PRECOMPILED_HEADER(Surface PreCompiled.h PreCompiled.cpp PCH_SRCS)
endif(FREECAD_USE_PCH)
link_directories(${OCC_LIBRARY_DIR})
add_library(Surface SHARED ${Surface_SRCS})
target_include_directories(
Surface
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}/src
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
)
target_include_directories(
Surface
SYSTEM
PUBLIC
${FREETYPE_INCLUDE_DIRS}
)
target_link_directories(Surface PUBLIC ${OCC_LIBRARY_DIR})
target_link_libraries(Surface ${Surface_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(Surface)

View File

@@ -1,11 +1,3 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
)
set(SurfaceGui_LIBS
Surface
PartGui
@@ -66,8 +58,22 @@ if(FREECAD_USE_PCH)
ADD_MSVC_PRECOMPILED_HEADER(SurfaceGui PreCompiled.h PreCompiled.cpp PCH_SRCS)
endif(FREECAD_USE_PCH)
link_directories(${OCC_LIBRARY_DIR})
add_library(SurfaceGui SHARED ${SurfaceGui_SRCS} ${SurfaceGuiIcon_SVG})
add_library(SurfaceGui SHARED
${SurfaceGui_SRCS}
${SurfaceGuiIcon_SVG}
)
target_include_directories(
SurfaceGui
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
)
target_link_directories(SurfaceGui PUBLIC ${OCC_LIBRARY_DIR})
target_link_libraries(SurfaceGui ${SurfaceGui_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(SurfaceGui)

View File

@@ -1,12 +1,3 @@
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}/src
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
)
set(TechDrawLIBS
Measure
Part
@@ -18,14 +9,6 @@ if (BUILD_IMPORT)
list(APPEND TechDrawLIBS Import)
endif ()
include_directories(
SYSTEM
${QtConcurrent_INCLUDE_DIRS}
${QtCore_INCLUDE_DIR}
${QtGui_INCLUDE_DIR}
${QtWidgets_INCLUDE_DIRS}
)
list(APPEND TechDrawLIBS
${QtConcurrent_LIBRARIES}
${QtCore_LIBRARIES}
@@ -276,8 +259,35 @@ if(FREECAD_USE_PCH)
ADD_MSVC_PRECOMPILED_HEADER(TechDraw PreCompiled.h PreCompiled.cpp PCH_SRCS)
endif(FREECAD_USE_PCH)
add_library(TechDraw SHARED ${TechDraw_SRCS} ${Draw_SRCS} ${TechDrawAlgos_SRCS}
${Geometry_SRCS} ${Python_SRCS})
add_library(TechDraw SHARED
${TechDraw_SRCS}
${Draw_SRCS}
${TechDrawAlgos_SRCS}
${Geometry_SRCS}
${Python_SRCS}
)
target_include_directories(
TechDraw
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}/src
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
)
target_include_directories(
TechDraw
SYSTEM
PUBLIC
${QtConcurrent_INCLUDE_DIRS}
${QtCore_INCLUDE_DIR}
${QtGui_INCLUDE_DIR}
${QtWidgets_INCLUDE_DIRS}
)
target_link_libraries(TechDraw ${TechDrawLIBS} ${TechDraw})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(TechDraw)

View File

@@ -11,13 +11,6 @@ if(NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
endif()
endif()
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
)
# The XML files
set(TechDrawGui_XML_SRCS
)
@@ -472,8 +465,25 @@ if(FREECAD_USE_PCH)
ADD_MSVC_PRECOMPILED_HEADER(TechDrawGui PreCompiled.h PreCompiled.cpp PCH_SRCS)
endif(FREECAD_USE_PCH)
add_library(TechDrawGui SHARED ${TechDrawGui_SRCS} ${TechDrawGuiView_SRCS} ${TechDrawGuiViewProvider_SRCS}
${TechDrawGuiNav_SRCS} ${TechDrawGuiIcon_SVG} ${TechDrawGuiFonts} ${MRTE_SRCS})
add_library(TechDrawGui SHARED
${TechDrawGui_SRCS}
${TechDrawGuiView_SRCS}
${TechDrawGuiViewProvider_SRCS}
${TechDrawGuiNav_SRCS}
${TechDrawGuiIcon_SVG}
${TechDrawGuiFonts}
${MRTE_SRCS}
)
target_include_directories(
TechDrawGui
PRIVATE
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
)
target_link_libraries(TechDrawGui ${TechDrawGui_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(TechDrawGui)

View File

@@ -1,8 +1,3 @@
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
)
set(TestGui_LIBS
FreeCADGui
)
@@ -56,6 +51,13 @@ endif(FREECAD_USE_PCH)
add_library(QtUnitGui SHARED ${TestGui_SRCS} ${TestGuiPy_SRCS} ${TestGuiIcon_SVG})
target_include_directories(
QtUnitGui
PRIVATE
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_SOURCE_DIR}/src
)
target_link_libraries(QtUnitGui ${TestGui_LIBS})
add_dependencies(QtUnitGui Test)
if (FREECAD_WARN_ERROR)

View File

@@ -1,11 +1,3 @@
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
)
include_directories(
SYSTEM
${QtNetwork_INCLUDE_DIRS}
)
set(Web_LIBS
FreeCADApp
${QtNetwork_LIBRARIES}
@@ -26,6 +18,19 @@ if(FREECAD_USE_PCH)
endif(FREECAD_USE_PCH)
add_library(Web SHARED ${Web_SRCS})
target_include_directories(
Web
PRIVATE
${CMAKE_CURRENT_BINARY_DIR}
)
target_include_directories(
Web
SYSTEM
PUBLIC
${QtNetwork_INCLUDE_DIRS}
)
target_link_libraries(Web ${Web_LIBS})
if (FREECAD_WARN_ERROR)
target_compile_warn_error(Web)