]> OCCT Git - occt.git/commitdiff
Configuration - Fixed pathes to 3rd-party in cmake configuration (#523)
authorPasukhin Dmitry <dpasukhi@opencascade.com>
Thu, 15 May 2025 12:04:14 +0000 (13:04 +0100)
committerdpasukhi <dpasukhi@opencascade.com>
Mon, 19 May 2025 21:15:38 +0000 (22:15 +0100)
Update target_link_libraries to use PUBLIC and PRIVATE visibility for dependencies.
Now all 3rd-party is hidden for the external linking, no more issues to invalid path to 3rd-party

18 files changed:
adm/cmake/occt_macros.cmake
adm/cmake/occt_toolkit.cmake
src/TKBRep/CMakeLists.txt
src/TKBRep/FILES
src/TKDEIGES/CMakeLists.txt
src/TKDEIGES/FILES
src/TKDESTEP/CMakeLists.txt
src/TKDESTEP/FILES
src/TKMath/CMakeLists.txt
src/TKMath/FILES
src/TKMesh/CMakeLists.txt
src/TKMesh/FILES
src/TKV3d/CMakeLists.txt
src/TKV3d/FILES
src/TKXSBase/CMakeLists.txt
src/TKXSBase/FILES
src/TKernel/CMakeLists.txt
src/TKernel/FILES

index b41d2abe8058b119dc2f288da4d86ee7f87b3d52..7b6c39072b461825988d5c18e408afb38affeb09 100644 (file)
@@ -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 $<ANGLE-R> for closing bracket
   if (${THE_IS_PRIVATE})
-    target_precompile_headers(${INPUT_TARGET} PRIVATE "$<$<COMPILE_LANGUAGE:CXX>:${PRECOMPILED_HEADER}>")
+    target_precompile_headers(${INPUT_TARGET} PRIVATE "$<$<COMPILE_LANGUAGE:CXX>:<${PRECOMPILED_HEADER}$<ANGLE-R>>")
   else()
-    target_precompile_headers(${INPUT_TARGET} PUBLIC "$<$<COMPILE_LANGUAGE:CXX>:${PRECOMPILED_HEADER}>")
+    target_precompile_headers(${INPUT_TARGET} PUBLIC "$<$<COMPILE_LANGUAGE:CXX>:<${PRECOMPILED_HEADER}$<ANGLE-R>>")
   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 "$<$<CONFIG:RELEASE>:${RELEASE_DIR_ABS}>;$<$<CONFIG:RELWITHDEBINFO>:${RELEASE_DIR_ABS}>")
+    target_link_directories(${TARGET_NAME} PRIVATE "$<$<CONFIG:RELEASE>:${RELEASE_DIR_ABS}>;$<$<CONFIG:RELWITHDEBINFO>:${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 "$<$<CONFIG:DEBUG>:${DEBUG_DIR_ABS}>")
+    target_link_directories(${TARGET_NAME} PRIVATE "$<$<CONFIG:DEBUG>:${DEBUG_DIR_ABS}>")
   endforeach()
 endfunction()
 macro(OCCT_ADD_VCPKG_FEATURE THE_FEATURE)
index b3d82bc0b9c52bcd4569dd4f93c4271f8c9b6de3..22e94d0629297da2c6bb66c89aeff4d32a336822 100644 (file)
@@ -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()
 
index f6622c2e748e3eb76b97c8c67554cfd6ec81c16a..8dbe9cbd7609423f1e1e342c9fef8d22884acaba 100644 (file)
@@ -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)
index ca4f0e567b617ef1acec8f0fdb4ea4126ca70f7e..85c7c07bdc2f79fcdcffbcd63bc6b2bd7ecf8435 100755 (executable)
@@ -1,2 +1,3 @@
 EXTERNLIB
 PACKAGES
+TKBRep_pch.hxx
index 2ba9c603828a4800aaea212de53bdb394ac00dbc..8b2f8b13c8c62e489e43aa30110d3b600ac68b2a 100644 (file)
@@ -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)
index ca4f0e567b617ef1acec8f0fdb4ea4126ca70f7e..58718d59545f1c1b34aa0fb6b11f99e4e0cf1c0c 100644 (file)
@@ -1,2 +1,3 @@
 EXTERNLIB
 PACKAGES
+TKDEIGES_pch.hxx
index 5a6b02e23e03cd6b3f5818e5b1d3388b419d22f3..11b29aa50ff09d8a3b79146b55543b352fd7845c 100644 (file)
@@ -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)
index ca4f0e567b617ef1acec8f0fdb4ea4126ca70f7e..543d1c2d9bfd8558b41684b30df7cce33f07c150 100644 (file)
@@ -1,2 +1,3 @@
 EXTERNLIB
 PACKAGES
+TKDESTEP_pch.hxx
index 57b6486378d1c8c69b5ab84ceae0e7cd4ba0a619..12e292b1f885050d76731f7dd78472c34bbb17d5 100644 (file)
@@ -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)
index ca4f0e567b617ef1acec8f0fdb4ea4126ca70f7e..59fc0c36e810c6c035c92269b9bc5b9168a50af7 100755 (executable)
@@ -1,2 +1,3 @@
 EXTERNLIB
 PACKAGES
+TKMath_pch.hxx
index d4ca239ba361572e48caf9f92127f817cfc87782..00f59a071fbc44bfa9f021b4c369adb68d80b9f1 100644 (file)
@@ -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)
index ca4f0e567b617ef1acec8f0fdb4ea4126ca70f7e..549e91d437fff15b5006963a9991752af2db6564 100755 (executable)
@@ -1,2 +1,3 @@
 EXTERNLIB
 PACKAGES
+TKMesh_pch.hxx
index 9745c5b65eade3210055a834f85d29a987cde36f..d9113c57e597541edaebd3ddfd6a4ad45a509f9d 100644 (file)
@@ -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)
index ca4f0e567b617ef1acec8f0fdb4ea4126ca70f7e..66bf96492b2f483024908583c6244d414845012e 100755 (executable)
@@ -1,2 +1,3 @@
 EXTERNLIB
 PACKAGES
+TKV3d_pch.hxx
index e8c7631d001e6c67121027add89307c5079c9bad..d3ec23710a896e26ac8e04996516eb9a74cb3b84 100644 (file)
@@ -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)
index ca4f0e567b617ef1acec8f0fdb4ea4126ca70f7e..a1f5e77c3e8940e2b56339fddfd3bc3da95d1d00 100755 (executable)
@@ -1,2 +1,3 @@
 EXTERNLIB
 PACKAGES
+TKXSBase_pch.hxx
index ff4e72705ba06c19b7f785de39ea39fcf5136d81..5c460a8d5cab3e0ca73a473d73abaa79549c3377 100644 (file)
@@ -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)
index ca4f0e567b617ef1acec8f0fdb4ea4126ca70f7e..ede0373c497ce1c2c63abb39bae83212d14d04a0 100755 (executable)
@@ -1,2 +1,3 @@
 EXTERNLIB
 PACKAGES
+TKernel_pch.hxx