forked from Kistler-Group/sdbus-cpp
add cpack to build debian packages, split the packages by components
This commit is contained in:
committed by
Stanislav Angelovič
parent
c422de641a
commit
9cb8b89a01
@ -136,9 +136,9 @@ endif()
|
|||||||
|
|
||||||
install(TARGETS ${EXPORT_SET}
|
install(TARGETS ${EXPORT_SET}
|
||||||
EXPORT sdbus-c++-targets
|
EXPORT sdbus-c++-targets
|
||||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT libraries
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime
|
||||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT runtime
|
||||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT static_libraries
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT dev
|
||||||
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${SDBUSCPP_INCLUDE_SUBDIR} COMPONENT dev)
|
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${SDBUSCPP_INCLUDE_SUBDIR} COMPONENT dev)
|
||||||
|
|
||||||
#----------------------------------
|
#----------------------------------
|
||||||
@ -174,7 +174,7 @@ if(BUILD_DOC)
|
|||||||
message(STATUS "Building with documentation")
|
message(STATUS "Building with documentation")
|
||||||
option(BUILD_DOXYGEN_DOC "Build doxygen documentation for sdbus-c++ API" OFF)
|
option(BUILD_DOXYGEN_DOC "Build doxygen documentation for sdbus-c++ API" OFF)
|
||||||
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/docs")
|
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/docs")
|
||||||
install(FILES README README.md NEWS COPYING ChangeLog AUTHORS DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
install(FILES README README.md NEWS COPYING ChangeLog AUTHORS DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT doc)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
#----------------------------------
|
#----------------------------------
|
||||||
@ -199,3 +199,23 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cmake/sdbus-c++-config.cmake
|
|||||||
configure_file(pkgconfig/sdbus-c++.pc.in pkgconfig/sdbus-c++.pc @ONLY)
|
configure_file(pkgconfig/sdbus-c++.pc.in pkgconfig/sdbus-c++.pc @ONLY)
|
||||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/sdbus-c++.pc
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/sdbus-c++.pc
|
||||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig COMPONENT dev)
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig COMPONENT dev)
|
||||||
|
|
||||||
|
#----------------------------------
|
||||||
|
# CPack
|
||||||
|
#----------------------------------
|
||||||
|
set(CPACK_PACKAGE_VENDOR "Kistler")
|
||||||
|
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "high-level C++ D-Bus library")
|
||||||
|
set(CPACK_PACKAGE_CONTACT "info@kistler.com")
|
||||||
|
set(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/README.md")
|
||||||
|
set(CPACK_COMPONENT_DEV_DEPENDS "runtime")
|
||||||
|
|
||||||
|
# specific for DEB generator
|
||||||
|
set(CPACK_DEB_COMPONENT_INSTALL ON)
|
||||||
|
set(CPACK_DEBIAN_RUNTIME_DEBUGINFO_PACKAGE ON)
|
||||||
|
set(CPACK_DEBIAN_RUNTIME_PACKAGE_NAME ${PROJECT_NAME})
|
||||||
|
set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT)
|
||||||
|
set(CPACK_DEBIAN_PACKAGE_SECTION "libs")
|
||||||
|
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
|
||||||
|
set(CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS ON)
|
||||||
|
|
||||||
|
include(CPack)
|
||||||
|
@ -16,7 +16,7 @@ if(BUILD_DOXYGEN_DOC)
|
|||||||
add_custom_command(TARGET doc POST_BUILD
|
add_custom_command(TARGET doc POST_BUILD
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_LIST_DIR}/sdbus-c++-class-diagram.png ${CMAKE_CURRENT_BINARY_DIR}/html/.)
|
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_LIST_DIR}/sdbus-c++-class-diagram.png ${CMAKE_CURRENT_BINARY_DIR}/html/.)
|
||||||
|
|
||||||
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION ${CMAKE_INSTALL_DOCDIR} OPTIONAL)
|
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION ${CMAKE_INSTALL_DOCDIR} OPTIONAL COMPONENT doc)
|
||||||
else()
|
else()
|
||||||
message(WARNING "Documentation enabled, but Doxygen cannot be found")
|
message(WARNING "Documentation enabled, but Doxygen cannot be found")
|
||||||
endif()
|
endif()
|
||||||
@ -26,4 +26,4 @@ install(FILES sdbus-c++-class-diagram.png
|
|||||||
sdbus-c++-class-diagram.uml
|
sdbus-c++-class-diagram.uml
|
||||||
systemd-dbus-config.md
|
systemd-dbus-config.md
|
||||||
using-sdbus-c++.md
|
using-sdbus-c++.md
|
||||||
DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT doc)
|
||||||
|
@ -140,19 +140,19 @@ endif()
|
|||||||
|
|
||||||
set(TESTS_INSTALL_PATH "/opt/test/bin" CACHE STRING "Specifies where the test binaries will be installed")
|
set(TESTS_INSTALL_PATH "/opt/test/bin" CACHE STRING "Specifies where the test binaries will be installed")
|
||||||
|
|
||||||
install(TARGETS sdbus-c++-unit-tests DESTINATION ${TESTS_INSTALL_PATH})
|
install(TARGETS sdbus-c++-unit-tests DESTINATION ${TESTS_INSTALL_PATH} COMPONENT test)
|
||||||
install(TARGETS sdbus-c++-integration-tests DESTINATION ${TESTS_INSTALL_PATH})
|
install(TARGETS sdbus-c++-integration-tests DESTINATION ${TESTS_INSTALL_PATH} COMPONENT test)
|
||||||
install(FILES ${INTEGRATIONTESTS_SOURCE_DIR}/files/org.sdbuscpp.integrationtests.conf DESTINATION /etc/dbus-1/system.d)
|
install(FILES ${INTEGRATIONTESTS_SOURCE_DIR}/files/org.sdbuscpp.integrationtests.conf DESTINATION /etc/dbus-1/system.d COMPONENT test)
|
||||||
|
|
||||||
if(ENABLE_PERF_TESTS)
|
if(ENABLE_PERF_TESTS)
|
||||||
install(TARGETS sdbus-c++-perf-tests-client DESTINATION ${TESTS_INSTALL_PATH})
|
install(TARGETS sdbus-c++-perf-tests-client DESTINATION ${TESTS_INSTALL_PATH} COMPONENT test)
|
||||||
install(TARGETS sdbus-c++-perf-tests-server DESTINATION ${TESTS_INSTALL_PATH})
|
install(TARGETS sdbus-c++-perf-tests-server DESTINATION ${TESTS_INSTALL_PATH} COMPONENT test)
|
||||||
install(FILES ${PERFTESTS_SOURCE_DIR}/files/org.sdbuscpp.perftests.conf DESTINATION /etc/dbus-1/system.d)
|
install(FILES ${PERFTESTS_SOURCE_DIR}/files/org.sdbuscpp.perftests.conf DESTINATION /etc/dbus-1/system.d COMPONENT test)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(ENABLE_STRESS_TESTS)
|
if(ENABLE_STRESS_TESTS)
|
||||||
install(TARGETS sdbus-c++-stress-tests DESTINATION ${TESTS_INSTALL_PATH})
|
install(TARGETS sdbus-c++-stress-tests DESTINATION ${TESTS_INSTALL_PATH} COMPONENT test)
|
||||||
install(FILES ${STRESSTESTS_SOURCE_DIR}/files/org.sdbuscpp.stresstests.conf DESTINATION /etc/dbus-1/system.d)
|
install(FILES ${STRESSTESTS_SOURCE_DIR}/files/org.sdbuscpp.stresstests.conf DESTINATION /etc/dbus-1/system.d COMPONENT test)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
#----------------------------------
|
#----------------------------------
|
||||||
|
@ -49,7 +49,7 @@ target_include_directories(sdbus-c++-xml2cpp PRIVATE ${EXPAT_INCLUDE_DIRS})
|
|||||||
# INSTALLATION
|
# INSTALLATION
|
||||||
#----------------------------------
|
#----------------------------------
|
||||||
|
|
||||||
install(TARGETS sdbus-c++-xml2cpp EXPORT sdbus-c++-tools-targets DESTINATION ${CMAKE_INSTALL_BINDIR})
|
install(TARGETS sdbus-c++-xml2cpp EXPORT sdbus-c++-tools-targets DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT dev)
|
||||||
|
|
||||||
#----------------------------------
|
#----------------------------------
|
||||||
# CMAKE CONFIG & PACKAGE CONFIG
|
# CMAKE CONFIG & PACKAGE CONFIG
|
||||||
|
Reference in New Issue
Block a user