mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-06-05 11:24:17 +03:00
Configuration - Fixed pathes to 3rd-party in cmake configuration (#523)
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
This commit is contained in:
parent
4c9aaf2300
commit
6c179e9b63
@ -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)
|
||||
|
@ -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()
|
||||
|
||||
|
@ -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)
|
||||
|
@ -1,2 +1,3 @@
|
||||
EXTERNLIB
|
||||
PACKAGES
|
||||
TKBRep_pch.hxx
|
||||
|
@ -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)
|
||||
|
@ -1,2 +1,3 @@
|
||||
EXTERNLIB
|
||||
PACKAGES
|
||||
TKDEIGES_pch.hxx
|
||||
|
@ -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)
|
||||
|
@ -1,2 +1,3 @@
|
||||
EXTERNLIB
|
||||
PACKAGES
|
||||
TKDESTEP_pch.hxx
|
||||
|
@ -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)
|
||||
|
@ -1,2 +1,3 @@
|
||||
EXTERNLIB
|
||||
PACKAGES
|
||||
TKMath_pch.hxx
|
||||
|
@ -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)
|
||||
|
@ -1,2 +1,3 @@
|
||||
EXTERNLIB
|
||||
PACKAGES
|
||||
TKMesh_pch.hxx
|
||||
|
@ -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)
|
||||
|
@ -1,2 +1,3 @@
|
||||
EXTERNLIB
|
||||
PACKAGES
|
||||
TKV3d_pch.hxx
|
||||
|
@ -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)
|
||||
|
@ -1,2 +1,3 @@
|
||||
EXTERNLIB
|
||||
PACKAGES
|
||||
TKXSBase_pch.hxx
|
||||
|
@ -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)
|
||||
|
@ -1,2 +1,3 @@
|
||||
EXTERNLIB
|
||||
PACKAGES
|
||||
TKernel_pch.hxx
|
||||
|
Loading…
x
Reference in New Issue
Block a user