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) if(MYX_CMAKE_PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
set(PACKAGE_VERSION_COMPATIBLE FALSE) set(PACKAGE_VERSION_COMPATIBLE FALSE)
else() else()

View File

@ -12,7 +12,7 @@
```cmake ```cmake
if(MYX_CMAKE_USE_SYSTEM) if(MYX_CMAKE_USE_SYSTEM)
find_package(MyxCMake 1.99.40 REQUIRED) find_package(MyxCMake 1.99.41 REQUIRED)
else() else()
include(${PROJECT_SOURCE_DIR}/cmake/myx/MyxCMakeConfig.cmake) include(${PROJECT_SOURCE_DIR}/cmake/myx/MyxCMakeConfig.cmake)
endif() 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 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` - тип цели. Обязательные параметры: `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 NO_CHECK_REQUIRED_COMPONENTS_MACRO
) )
install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
COMPONENT dev
)
install(EXPORT ${NAME}Targets install(EXPORT ${NAME}Targets
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${NAME}
COMPONENT dev COMPONENT dev
@ -159,7 +159,7 @@ function(myx_add_library NAME TYPE)
COMPONENT dev COMPONENT dev
) )
# Формирование и установка файла для pkg-config # Формирование файла для pkg-config
file(WRITE "${CMAKE_BINARY_DIR}/${NAME}.pc" file(WRITE "${CMAKE_BINARY_DIR}/${NAME}.pc"
"prefix=${CMAKE_INSTALL_PREFIX}\n" "prefix=${CMAKE_INSTALL_PREFIX}\n"
"exec_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") "Libs: -L${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR} -l${NAME}\n")
endif() endif()
# Установка файла для pkg-config
install( install(
FILES "${CMAKE_BINARY_DIR}/${NAME}.pc" FILES "${CMAKE_BINARY_DIR}/${NAME}.pc"
COMPONENT dev COMPONENT dev
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
# Установка содержимого каталога с заголовочными файлами
install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
COMPONENT dev
)
if(TYPE STREQUAL "OBJECT") if(TYPE STREQUAL "OBJECT")
# Установка динамической библиотеки # Установка динамической библиотеки
if(TARGET ${NAME}_shared) if(TARGET ${NAME}_shared)
@ -201,7 +208,7 @@ function(myx_add_library NAME TYPE)
endif() endif()
if(TARGET ${NAME}_static) if(TARGET ${NAME}_static)
# Установка статической библиотеки # Установка статической библиотеки
install( install(
TARGETS ${NAME}_static TARGETS ${NAME}_static
EXPORT ${NAME}Targets EXPORT ${NAME}Targets

View File

@ -10,7 +10,7 @@ function(myx_qt5_target_setup NAME)
get_target_property(type ${NAME} TYPE) get_target_property(type ${NAME} TYPE)
if(ARG_SOURCES) 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() endif()
if(ARG_COMPONENTS) if(ARG_COMPONENTS)
@ -37,8 +37,8 @@ function(myx_qt5_target_setup NAME)
set_target_properties(${NAME} PROPERTIES CPP_FILES ${ARG_CPP}) set_target_properties(${NAME} PROPERTIES CPP_FILES ${ARG_CPP})
endif() endif()
if(ARG_HPP) if(ARG_HPP OR ARG_MOC)
set_target_properties(${NAME} PROPERTIES HPP_FILES ${ARG_HPP}) set_target_properties(${NAME} PROPERTIES HPP_FILES ${ARG_HPP} ${ARG_MOC})
endif() endif()
if(ARG_MOC) if(ARG_MOC)