diff --git a/adm/cmake/occt_macros.cmake b/adm/cmake/occt_macros.cmake index b41d2abe80..7b6c39072b 100644 --- a/adm/cmake/occt_macros.cmake +++ b/adm/cmake/occt_macros.cmake @@ -392,6 +392,11 @@ function (COLLECT_AND_INSTALL_OCCT_HEADER_FILES THE_ROOT_TARGET_OCCT_DIR THE_OCC list (FILTER HEADER_FILES_FILTERING INCLUDE REGEX ".+[.](h|g|p|lxx|hxx|pxx|hpp|gxx)$") list (APPEND OCCT_HEADER_FILES_COMPLETE ${HEADER_FILES_FILTERING}) endforeach() + # parse root of the toolkit file + EXTRACT_PACKAGE_FILES (${THE_RELATIVE_PATH} ${OCCT_TOOLKIT} ALL_FILES _) + set (HEADER_FILES_FILTERING ${ALL_FILES}) + list (FILTER HEADER_FILES_FILTERING INCLUDE REGEX ".+[.](h|g|p|lxx|hxx|pxx|hpp|gxx)$") + list (APPEND OCCT_HEADER_FILES_COMPLETE ${HEADER_FILES_FILTERING}) endforeach() # Check that copying is done and match the include installation type. @@ -449,10 +454,12 @@ function(ADD_PRECOMPILED_HEADER INPUT_TARGET PRECOMPILED_HEADER THE_IS_PRIVATE) if (NOT BUILD_USE_PCH) return() endif() + + # Angular bracket syntax is achieved using $ for closing bracket if (${THE_IS_PRIVATE}) - target_precompile_headers(${INPUT_TARGET} PRIVATE "$<$:${PRECOMPILED_HEADER}>") + target_precompile_headers(${INPUT_TARGET} PRIVATE "$<$:<${PRECOMPILED_HEADER}$>") else() - target_precompile_headers(${INPUT_TARGET} PUBLIC "$<$:${PRECOMPILED_HEADER}>") + target_precompile_headers(${INPUT_TARGET} PUBLIC "$<$:<${PRECOMPILED_HEADER}$>") endif() endfunction() @@ -847,12 +854,12 @@ function (PROCESS_CSF_LIBRARIES CURRENT_CSF LIST_NAME TARGET_NAME) foreach (RELEASE_DIR ${FOUND_RELEASE_DIRS}) get_filename_component(RELEASE_DIR_ABS "${RELEASE_DIR}" ABSOLUTE) - target_link_directories(${TARGET_NAME} PUBLIC "$<$:${RELEASE_DIR_ABS}>;$<$:${RELEASE_DIR_ABS}>") + target_link_directories(${TARGET_NAME} PRIVATE "$<$:${RELEASE_DIR_ABS}>;$<$:${RELEASE_DIR_ABS}>") endforeach() foreach (DEBUG_DIR ${FOUND_DEBUG_DIRS}) get_filename_component(DEBUG_DIR_ABS "${DEBUG_DIR}" ABSOLUTE) - target_link_directories(${TARGET_NAME} PUBLIC "$<$:${DEBUG_DIR_ABS}>") + target_link_directories(${TARGET_NAME} PRIVATE "$<$:${DEBUG_DIR_ABS}>") endforeach() endfunction() macro(OCCT_ADD_VCPKG_FEATURE THE_FEATURE) diff --git a/adm/cmake/occt_toolkit.cmake b/adm/cmake/occt_toolkit.cmake index b3d82bc0b9..22e94d0629 100644 --- a/adm/cmake/occt_toolkit.cmake +++ b/adm/cmake/occt_toolkit.cmake @@ -280,14 +280,14 @@ if(IS_VTK_9XX) string (REGEX REPLACE "vtk" "VTK::" USED_TOOLKITS_BY_CURRENT_PROJECT "${USED_TOOLKITS_BY_CURRENT_PROJECT}") endif() -target_link_libraries (${PROJECT_NAME} ${USED_TOOLKITS_BY_CURRENT_PROJECT} ${USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT}) +target_link_libraries (${PROJECT_NAME} PUBLIC ${USED_TOOLKITS_BY_CURRENT_PROJECT} PRIVATE ${USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT}) if (USE_QT) foreach (PROJECT_LIBRARY_DEBUG ${PROJECT_LIBRARIES_DEBUG}) - target_link_libraries (${PROJECT_NAME} debug ${PROJECT_LIBRARY_DEBUG}) + target_link_libraries (${PROJECT_NAME} PRIVATE debug ${PROJECT_LIBRARY_DEBUG}) endforeach() foreach (PROJECT_LIBRARY_RELEASE ${PROJECT_LIBRARIES_RELEASE}) - target_link_libraries (${PROJECT_NAME} optimized ${PROJECT_LIBRARY_RELEASE}) + target_link_libraries (${PROJECT_NAME} PRIVATE optimized ${PROJECT_LIBRARY_RELEASE}) endforeach() endif() diff --git a/src/TKBRep/CMakeLists.txt b/src/TKBRep/CMakeLists.txt index f6622c2e74..8dbe9cbd76 100644 --- a/src/TKBRep/CMakeLists.txt +++ b/src/TKBRep/CMakeLists.txt @@ -3,4 +3,4 @@ project(TKBRep) OCCT_INCLUDE_CMAKE_FILE (adm/cmake/occt_toolkit) # Add the precompiled header -ADD_PRECOMPILED_HEADER(TKBRep "${CMAKE_CURRENT_SOURCE_DIR}/TKBRep_pch.hxx" FALSE) +ADD_PRECOMPILED_HEADER(TKBRep "TKBRep_pch.hxx" FALSE) diff --git a/src/TKBRep/FILES b/src/TKBRep/FILES index ca4f0e567b..85c7c07bdc 100755 --- a/src/TKBRep/FILES +++ b/src/TKBRep/FILES @@ -1,2 +1,3 @@ EXTERNLIB PACKAGES +TKBRep_pch.hxx diff --git a/src/TKDEIGES/CMakeLists.txt b/src/TKDEIGES/CMakeLists.txt index 2ba9c60382..8b2f8b13c8 100644 --- a/src/TKDEIGES/CMakeLists.txt +++ b/src/TKDEIGES/CMakeLists.txt @@ -3,4 +3,4 @@ project(TKDEIGES) OCCT_INCLUDE_CMAKE_FILE (adm/cmake/occt_toolkit) # Add the precompiled header -ADD_PRECOMPILED_HEADER(TKDEIGES "${CMAKE_CURRENT_SOURCE_DIR}/TKDEIGES_pch.hxx" TRUE) +ADD_PRECOMPILED_HEADER(TKDEIGES "TKDEIGES_pch.hxx" TRUE) diff --git a/src/TKDEIGES/FILES b/src/TKDEIGES/FILES index ca4f0e567b..58718d5954 100644 --- a/src/TKDEIGES/FILES +++ b/src/TKDEIGES/FILES @@ -1,2 +1,3 @@ EXTERNLIB PACKAGES +TKDEIGES_pch.hxx diff --git a/src/TKDESTEP/CMakeLists.txt b/src/TKDESTEP/CMakeLists.txt index 5a6b02e23e..11b29aa50f 100644 --- a/src/TKDESTEP/CMakeLists.txt +++ b/src/TKDESTEP/CMakeLists.txt @@ -3,6 +3,6 @@ project(TKDESTEP) OCCT_INCLUDE_CMAKE_FILE (adm/cmake/occt_toolkit) # Add the precompiled header -ADD_PRECOMPILED_HEADER(TKDESTEP "${CMAKE_CURRENT_SOURCE_DIR}/TKDESTEP_pch.hxx" TRUE) +ADD_PRECOMPILED_HEADER(TKDESTEP "TKDESTEP_pch.hxx" TRUE) FLEX_AND_BISON_TARGET_APPLY ("StepFile" src) diff --git a/src/TKDESTEP/FILES b/src/TKDESTEP/FILES index ca4f0e567b..543d1c2d9b 100644 --- a/src/TKDESTEP/FILES +++ b/src/TKDESTEP/FILES @@ -1,2 +1,3 @@ EXTERNLIB PACKAGES +TKDESTEP_pch.hxx diff --git a/src/TKMath/CMakeLists.txt b/src/TKMath/CMakeLists.txt index 57b6486378..12e292b1f8 100644 --- a/src/TKMath/CMakeLists.txt +++ b/src/TKMath/CMakeLists.txt @@ -3,4 +3,4 @@ project(TKMath) OCCT_INCLUDE_CMAKE_FILE (adm/cmake/occt_toolkit) # Add the precompiled header -ADD_PRECOMPILED_HEADER(TKMath "${CMAKE_CURRENT_SOURCE_DIR}/TKMath_pch.hxx" FALSE) +ADD_PRECOMPILED_HEADER(TKMath "TKMath_pch.hxx" FALSE) diff --git a/src/TKMath/FILES b/src/TKMath/FILES index ca4f0e567b..59fc0c36e8 100755 --- a/src/TKMath/FILES +++ b/src/TKMath/FILES @@ -1,2 +1,3 @@ EXTERNLIB PACKAGES +TKMath_pch.hxx diff --git a/src/TKMesh/CMakeLists.txt b/src/TKMesh/CMakeLists.txt index d4ca239ba3..00f59a071f 100644 --- a/src/TKMesh/CMakeLists.txt +++ b/src/TKMesh/CMakeLists.txt @@ -3,4 +3,4 @@ project(TKMesh) OCCT_INCLUDE_CMAKE_FILE (adm/cmake/occt_toolkit) # Add the precompiled header -ADD_PRECOMPILED_HEADER(TKMesh "${CMAKE_CURRENT_SOURCE_DIR}/TKMesh_pch.hxx" TRUE) +ADD_PRECOMPILED_HEADER(TKMesh "TKMesh_pch.hxx" TRUE) diff --git a/src/TKMesh/FILES b/src/TKMesh/FILES index ca4f0e567b..549e91d437 100755 --- a/src/TKMesh/FILES +++ b/src/TKMesh/FILES @@ -1,2 +1,3 @@ EXTERNLIB PACKAGES +TKMesh_pch.hxx diff --git a/src/TKV3d/CMakeLists.txt b/src/TKV3d/CMakeLists.txt index 9745c5b65e..d9113c57e5 100644 --- a/src/TKV3d/CMakeLists.txt +++ b/src/TKV3d/CMakeLists.txt @@ -3,4 +3,4 @@ project(TKV3d) OCCT_INCLUDE_CMAKE_FILE (adm/cmake/occt_toolkit) # Add the precompiled header -ADD_PRECOMPILED_HEADER(TKV3d "${CMAKE_CURRENT_SOURCE_DIR}/TKV3d_pch.hxx" TRUE) +ADD_PRECOMPILED_HEADER(TKV3d "TKV3d_pch.hxx" TRUE) diff --git a/src/TKV3d/FILES b/src/TKV3d/FILES index ca4f0e567b..66bf96492b 100755 --- a/src/TKV3d/FILES +++ b/src/TKV3d/FILES @@ -1,2 +1,3 @@ EXTERNLIB PACKAGES +TKV3d_pch.hxx diff --git a/src/TKXSBase/CMakeLists.txt b/src/TKXSBase/CMakeLists.txt index e8c7631d00..d3ec23710a 100644 --- a/src/TKXSBase/CMakeLists.txt +++ b/src/TKXSBase/CMakeLists.txt @@ -3,4 +3,4 @@ project(TKXSBase) OCCT_INCLUDE_CMAKE_FILE (adm/cmake/occt_toolkit) # Add the precompiled header -ADD_PRECOMPILED_HEADER(TKXSBase "${CMAKE_CURRENT_SOURCE_DIR}/TKXSBase_pch.hxx" TRUE) +ADD_PRECOMPILED_HEADER(TKXSBase "TKXSBase_pch.hxx" TRUE) diff --git a/src/TKXSBase/FILES b/src/TKXSBase/FILES index ca4f0e567b..a1f5e77c3e 100755 --- a/src/TKXSBase/FILES +++ b/src/TKXSBase/FILES @@ -1,2 +1,3 @@ EXTERNLIB PACKAGES +TKXSBase_pch.hxx diff --git a/src/TKernel/CMakeLists.txt b/src/TKernel/CMakeLists.txt index ff4e72705b..5c460a8d5c 100644 --- a/src/TKernel/CMakeLists.txt +++ b/src/TKernel/CMakeLists.txt @@ -14,4 +14,4 @@ else () endif() # Add the precompiled header -ADD_PRECOMPILED_HEADER(TKernel "${CMAKE_CURRENT_SOURCE_DIR}/TKernel_pch.hxx" FALSE) +ADD_PRECOMPILED_HEADER(TKernel "TKernel_pch.hxx" FALSE) diff --git a/src/TKernel/FILES b/src/TKernel/FILES index ca4f0e567b..ede0373c49 100755 --- a/src/TKernel/FILES +++ b/src/TKernel/FILES @@ -1,2 +1,3 @@ EXTERNLIB PACKAGES +TKernel_pch.hxx