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()