From 2fb4b68cfd45de6018408a41831152364270848c Mon Sep 17 00:00:00 2001 From: kgv Date: Sat, 26 Feb 2022 21:02:22 +0300 Subject: [PATCH] 0031667: Configuration, CMake - Dependencies between targets are not specified for static builds and not public target_link_libraries() is now set with public interface for CMake >= 3. --- adm/cmake/occt_toolkit.cmake | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/adm/cmake/occt_toolkit.cmake b/adm/cmake/occt_toolkit.cmake index 2f96c6f148..90f33c2043 100644 --- a/adm/cmake/occt_toolkit.cmake +++ b/adm/cmake/occt_toolkit.cmake @@ -400,6 +400,12 @@ if (BUILD_SHARED_LIBS OR EXECUTABLE_PROJECT) if(IS_VTK_9XX) string (REGEX REPLACE "vtk" "VTK::" USED_TOOLKITS_BY_CURRENT_PROJECT "${USED_TOOLKITS_BY_CURRENT_PROJECT}") endif() +endif() + +if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.0.0") + # Declare the dependencies public so that all code that uses this library automatically also links with the dependencies + target_link_libraries (${PROJECT_NAME} PUBLIC ${USED_TOOLKITS_BY_CURRENT_PROJECT} ${USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT}) +elseif (BUILD_SHARED_LIBS) target_link_libraries (${PROJECT_NAME} ${USED_TOOLKITS_BY_CURRENT_PROJECT} ${USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT}) endif()