diff --git a/MyxCMake/lib/AddInterfaceLibrary.cmake b/MyxCMake/lib/AddInterfaceLibrary.cmake index 9ce1372..da45c2e 100644 --- a/MyxCMake/lib/AddInterfaceLibrary.cmake +++ b/MyxCMake/lib/AddInterfaceLibrary.cmake @@ -62,14 +62,16 @@ function(myx_add_interface_library TARGET_NAME) if(ARG_LINK_LIBRARIES) target_link_libraries(${TARGET_NAME} INTERFACE ${ARG_LINK_LIBRARIES}) - foreach(__lib ${ARG_LINK_LIBRARIES}) - if(TARGET ${__lib}) - install( - TARGETS ${__lib} - EXPORT ${TARGET_NAME}Targets - COMPONENT DEV) - endif() - endforeach() + if(${CMAKE_VERSION} VERSION_GREATER "3.15.0") + foreach(__lib ${ARG_LINK_LIBRARIES}) + if(TARGET ${__lib}) + install( + TARGETS ${__lib} + EXPORT ${TARGET_NAME}Targets + COMPONENT DEV) + endif() + endforeach() + endif() endif() # Библиотека, состоящая только из заголовочных файлов не требует сборки. diff --git a/MyxCMake/lib/Qt5TargetSetup.cmake b/MyxCMake/lib/Qt5TargetSetup.cmake index 2602c4d..efb3f36 100644 --- a/MyxCMake/lib/Qt5TargetSetup.cmake +++ b/MyxCMake/lib/Qt5TargetSetup.cmake @@ -87,7 +87,11 @@ function(myx_qt5_target_setup TARGET_NAME) target_sources(${TARGET_NAME} PRIVATE ${qrc_l10n}) endif() unset(tr) - target_sources(${TARGET_NAME} PRIVATE ${ARG_PUBLIC_MOC} ${ARG_PRIVATE_MOC} ${moc_cpp} ${ui_h} ${qrc_cpp}) + if(target_type STREQUAL "INTERFACE_LIBRARY") + target_sources(${TARGET_NAME} INTERFACE ${ARG_PUBLIC_MOC} ${ARG_PRIVATE_MOC} ${moc_cpp} ${ui_h} ${qrc_cpp}) + else() + target_sources(${TARGET_NAME} PRIVATE ${ARG_PUBLIC_MOC} ${ARG_PRIVATE_MOC} ${moc_cpp} ${ui_h} ${qrc_cpp}) + endif() # Установка публичных заголовочных файлов if(PROJECT_IS_TOP_LEVEL) diff --git a/README.md b/README.md index c83e169..b1fa7d7 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ ## Установка В корневом каталоге проекта создать каталог `cmake` и распаковать в него -[архив](../../../releases/download/2.0.30/myx-cmake-local-2.0.30.tar.xz ). +[архив](../../../releases/download/2.0.31/myx-cmake-local-2.0.31.tar.xz ). ## Использование diff --git a/VERSION b/VERSION index 07a2199..e235558 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.0.30 +2.0.31 diff --git a/debian/CMakeLists.txt b/debian/CMakeLists.txt index dce8b7d..10dfb3a 100644 --- a/debian/CMakeLists.txt +++ b/debian/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.6 FATAL_ERROR) -project(myx-cmake VERSION 2.0.30 LANGUAGES) +project(myx-cmake VERSION 2.0.31 LANGUAGES) include(GNUInstallDirs) file(WRITE ${CMAKE_SOURCE_DIR}/MyxCMake/MyxCMakeConfigVersion.cmake diff --git a/debian/changelog b/debian/changelog index 4950b8e..3b3809e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -myx-cmake (2.0.30) unstable; urgency=medium +myx-cmake (2.0.31) unstable; urgency=medium * New version. diff --git a/myx_setup.cmake b/myx_setup.cmake index 9bd1c09..0178b3c 100644 --- a/myx_setup.cmake +++ b/myx_setup.cmake @@ -20,11 +20,11 @@ if(ENV{MYX_CMAKE_DIR}) set(MYX_CMAKE_DIR $ENV{MYX_CMAKE_DIR}) endif() if(MYX_CMAKE_DIR) - find_package(MyxCMake 2.0.30 REQUIRED CONFIG PATHS ${MYX_CMAKE_DIR} NO_DEFAULT_PATH) + find_package(MyxCMake 2.0.31 REQUIRED CONFIG PATHS ${MYX_CMAKE_DIR} NO_DEFAULT_PATH) myx_message_notice("=== MyxCMake directory: ${MyxCMake_CONFIG} ===") else() if(MYX_CMAKE_USE_SYSTEM) - find_package(MyxCMake 2.0.30 REQUIRED) + find_package(MyxCMake 2.0.31 REQUIRED) myx_message_notice("=== MyxCMake directory: ${MyxCMake_CONFIG} ===") else() include(${PROJECT_SOURCE_DIR}/cmake/myx/MyxCMakeConfig.cmake)