Поддержка сборки пакетов

This commit is contained in:
Andrei Astafev 2020-04-11 13:24:46 +03:00
parent 1974708a45
commit a27d3e6d58
3 changed files with 10 additions and 21 deletions

@ -1 +1 @@
Subproject commit 7cd6a6514eda2548988c9dc0a8a8280d5e03ac90
Subproject commit 026655f7121203f5a51db10c44178bf5b4bcf713

@ -1 +1 @@
Subproject commit 30b457bbc4b0948e78556507336f455547384ab6
Subproject commit 62d017b2e976df437afb27716b910ad66333ca06

View File

@ -2,12 +2,10 @@
set(TRGT cmlib-example)
# Список файлов исходных текстов
set(TRGT_sources
${CMAKE_CURRENT_SOURCE_DIR}/init.cpp)
set(TRGT_sources ${CMAKE_CURRENT_SOURCE_DIR}/init.cpp)
# Список заголовочных файлов (используется для установки)
set(TRGT_headers
${CMAKE_CURRENT_SOURCE_DIR}/init.hpp)
set(TRGT_headers ${CMAKE_CURRENT_SOURCE_DIR}/init.hpp)
# Функция для создания цели, результатом которой будет сборка библиотеки
add_common_library(TARGET ${TRGT} SOURCES ${TRGT_sources})
@ -18,28 +16,19 @@ target_include_directories(${TRGT} SYSTEM PUBLIC ${Boost_INCLUDE_DIRS})
# Цель, используемая только для установки
# заголовочных файлов без компиляции проекта
add_custom_target(
${TRGT}-install-headers
COMMAND "${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=headers -P
"${CMAKE_BINARY_DIR}/cmake_install.cmake")
add_custom_target(${TRGT}-install-headers COMMAND "${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=DEV -P
"${CMAKE_BINARY_DIR}/cmake_install.cmake")
# Установка статической библиотеки
install(TARGETS ${TRGT}_static
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(TARGETS ${TRGT}_static COMPONENT DEV ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
# Установка динамической библиотеки
if(BUILD_SHARED_LIBS)
install(TARGETS ${TRGT}_shared
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(TARGETS ${TRGT}_shared COMPONENT DEV LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
# Установка заголовочных файлов
install(
FILES ${TRGT_headers}
COMPONENT headers
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${current_target})
install(FILES ${TRGT_headers} COMPONENT DEV DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${TRGT})
# Установка файла для pkg-config
install(FILES ${CMAKE_BINARY_DIR}/${TRGT}.pc
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
install(FILES ${CMAKE_BINARY_DIR}/${TRGT}.pc COMPONENT DEV DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)