From 899afc37c581ae92439e614ae75fca868555ae8c Mon Sep 17 00:00:00 2001 From: Andrey Astafyev Date: Thu, 13 Apr 2023 09:58:45 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20CMake=203.7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MyxCMake/lib/AddInterfaceLibrary.cmake | 2 +- MyxCMake/lib/Qt5TargetSetup.cmake | 5 ++++- MyxCMake/lib/TargetSetup.cmake | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/MyxCMake/lib/AddInterfaceLibrary.cmake b/MyxCMake/lib/AddInterfaceLibrary.cmake index da45c2e..c238d2e 100644 --- a/MyxCMake/lib/AddInterfaceLibrary.cmake +++ b/MyxCMake/lib/AddInterfaceLibrary.cmake @@ -82,7 +82,7 @@ function(myx_add_interface_library TARGET_NAME) # то созданная цель исключается из цели `all`. # При этом сама цель `${TARGET_NAME}` может участвовать в сборке, # если окажется в перечне зависимостей. - if(NOT PROJECT_IS_TOP_LEVEL) + if((NOT PROJECT_IS_TOP_LEVEL) AND (${CMAKE_VERSION} VERSION_GREATER "3.8.0")) set_target_properties(${TARGET_NAME} PROPERTIES EXCLUDE_FROM_ALL True) return() endif() diff --git a/MyxCMake/lib/Qt5TargetSetup.cmake b/MyxCMake/lib/Qt5TargetSetup.cmake index a507e5c..f9751fe 100644 --- a/MyxCMake/lib/Qt5TargetSetup.cmake +++ b/MyxCMake/lib/Qt5TargetSetup.cmake @@ -19,7 +19,10 @@ function(myx_qt5_target_setup TARGET_NAME) if(__target_type STREQUAL "EXECUTABLE") target_link_libraries(${TARGET_NAME} PRIVATE "Qt5::${iter}") endif() - if((__target_type STREQUAL "SHARED_LIBRARY") OR (__target_type STREQUAL "OBJECT_LIBRARY")) + if(__target_type STREQUAL "SHARED_LIBRARY") + target_link_libraries(${TARGET_NAME} PUBLIC "Qt5::${iter}") + endif() + if((${CMAKE_VERSION} VERSION_GREATER "3.8.0") AND (__target_type STREQUAL "OBJECT_LIBRARY")) target_link_libraries(${TARGET_NAME} PUBLIC "Qt5::${iter}") endif() endif() diff --git a/MyxCMake/lib/TargetSetup.cmake b/MyxCMake/lib/TargetSetup.cmake index 31c6d12..b65b05e 100644 --- a/MyxCMake/lib/TargetSetup.cmake +++ b/MyxCMake/lib/TargetSetup.cmake @@ -108,6 +108,8 @@ function(myx_target_setup TARGET_NAME) endif() endif() endif() + else() + target_link_libraries(${TARGET_NAME} PRIVATE ${__link_library}) endif() endforeach() endif()