diff --git a/MyxCMakeConfigVersion.cmake b/MyxCMakeConfigVersion.cmake index f60fb7d..bbb62cc 100644 --- a/MyxCMakeConfigVersion.cmake +++ b/MyxCMakeConfigVersion.cmake @@ -1,4 +1,4 @@ -set(MYX_CMAKE_PACKAGE_VERSION "1.99.40") +set(MYX_CMAKE_PACKAGE_VERSION "1.99.41") if(MYX_CMAKE_PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) set(PACKAGE_VERSION_COMPATIBLE FALSE) else() diff --git a/README.md b/README.md index 8c94f6c..380f7e3 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ ```cmake if(MYX_CMAKE_USE_SYSTEM) - find_package(MyxCMake 1.99.40 REQUIRED) + find_package(MyxCMake 1.99.41 REQUIRED) else() include(${PROJECT_SOURCE_DIR}/cmake/myx/MyxCMakeConfig.cmake) endif() diff --git a/VERSION.txt b/VERSION.txt index 869d9fd..a831bde 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -1.99.40 +1.99.41 diff --git a/lib/AddLibrary.cmake b/lib/AddLibrary.cmake index 11b286f..c29d7e6 100644 --- a/lib/AddLibrary.cmake +++ b/lib/AddLibrary.cmake @@ -5,10 +5,15 @@ myx_add_library Вспомогательная функция для создания библиотеки:: myx_add_library(NAME TYPE - [ OUTPUT_NAME output_name ]) + [ OUTPUT_NAME output_name ] | + [ EXPORT_FILE_NAME file_name ] | + [ EXPORT_BASE_NAME base_name ]) Обязательные параметры: `NAME` - имя библиотеки и `TYPE` - тип цели. -Все остальные параметры передаются стандартной функции `add_library()` +Параметр `OUTPUT_NAME` определяет базовое имя выходных файлов. +Параметр `EXPORT_FILE_NAME` задаёт имя заголовочного файла экспортируемых +переменных, а `EXPORT_BASE_NAME` - базовый суффикс для формирования имён переменных. +Все остальные параметры передаются в стандартную функцию `add_library()` #]=======================================================================] @@ -141,11 +146,6 @@ function(myx_add_library NAME TYPE) NO_CHECK_REQUIRED_COMPONENTS_MACRO ) - install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/ - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - COMPONENT dev - ) - install(EXPORT ${NAME}Targets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${NAME} COMPONENT dev @@ -159,7 +159,7 @@ function(myx_add_library NAME TYPE) COMPONENT dev ) - # Формирование и установка файла для pkg-config + # Формирование файла для pkg-config file(WRITE "${CMAKE_BINARY_DIR}/${NAME}.pc" "prefix=${CMAKE_INSTALL_PREFIX}\n" "exec_prefix=${CMAKE_INSTALL_PREFIX}\n" @@ -184,11 +184,18 @@ function(myx_add_library NAME TYPE) "Libs: -L${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR} -l${NAME}\n") endif() + # Установка файла для pkg-config install( FILES "${CMAKE_BINARY_DIR}/${NAME}.pc" COMPONENT dev DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") + # Установка содержимого каталога с заголовочными файлами + install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/ + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + COMPONENT dev + ) + if(TYPE STREQUAL "OBJECT") # Установка динамической библиотеки if(TARGET ${NAME}_shared) @@ -201,7 +208,7 @@ function(myx_add_library NAME TYPE) endif() if(TARGET ${NAME}_static) - # Установка статической библиотеки + # Установка статической библиотеки install( TARGETS ${NAME}_static EXPORT ${NAME}Targets diff --git a/lib/Qt5TargetSetup.cmake b/lib/Qt5TargetSetup.cmake index 8d307f7..aba727e 100644 --- a/lib/Qt5TargetSetup.cmake +++ b/lib/Qt5TargetSetup.cmake @@ -10,7 +10,7 @@ function(myx_qt5_target_setup NAME) get_target_property(type ${NAME} TYPE) if(ARG_SOURCES) - myx_message_deprecation("MyxCMake: Use CPP and HPP arguments instead of SOURCES") + myx_message_deprecation("MyxCMake: Use CPP and HPP arguments instead of SOURCES") endif() if(ARG_COMPONENTS) @@ -37,8 +37,8 @@ function(myx_qt5_target_setup NAME) set_target_properties(${NAME} PROPERTIES CPP_FILES ${ARG_CPP}) endif() - if(ARG_HPP) - set_target_properties(${NAME} PROPERTIES HPP_FILES ${ARG_HPP}) + if(ARG_HPP OR ARG_MOC) + set_target_properties(${NAME} PROPERTIES HPP_FILES ${ARG_HPP} ${ARG_MOC}) endif() if(ARG_MOC)