This commit is contained in:
Andrei Astafev 2022-10-02 13:33:23 +03:00
parent 15624311b7
commit 8aa8ceef6b
5 changed files with 22 additions and 15 deletions

View File

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

View File

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

View File

@ -1 +1 @@
1.99.40
1.99.41

View File

@ -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

View File

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