From 1321f3afa1541acb1eb48555d12e81c13d43da4c Mon Sep 17 00:00:00 2001 From: redcode Date: Fri, 10 Jun 2022 10:30:24 +0200 Subject: [PATCH] CPack --- CMakeLists.txt | 32 ++++++++++++++++++++++++++------ documentation/CMakeLists.txt | 6 ++++-- 2 files changed, 30 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 189e7be..50844a4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -199,13 +199,13 @@ endif() install(TARGETS ${PROJECT_NAME} EXPORT "${PROJECT_NAME}_Targets" RUNTIME COMPONENT "${PROJECT_NAME}_Runtime" - LIBRARY COMPONENT "${PROJECT_NAME}_Runtime" - DESTINATION "${CMAKE_INSTALL_LIBDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + COMPONENT "${PROJECT_NAME}_Runtime" NAMELINK_COMPONENT "${PROJECT_NAME}_Development" ARCHIVE COMPONENT "${PROJECT_NAME}_Development" PUBLIC_HEADER - COMPONENT "${PROJECT_NAME}_Development" - DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + COMPONENT "${PROJECT_NAME}_Development") if(${PROJECT_NAME}_WITH_CMAKE_SUPPORT OR ${PROJECT_NAME}_WITH_PKGCONFIG_SUPPORT) include(CMakePackageConfigHelpers) @@ -260,7 +260,8 @@ if(${PROJECT_NAME}_WITH_STANDARD_DOCUMENTS) "${CMAKE_CURRENT_SOURCE_DIR}/HISTORY" "${CMAKE_CURRENT_SOURCE_DIR}/README" "${CMAKE_CURRENT_SOURCE_DIR}/THANKS" - DESTINATION ${CMAKE_INSTALL_DOCDIR}) + DESTINATION ${CMAKE_INSTALL_DOCDIR} + COMPONENT "${PROJECT_NAME}_Runtime") endif() if(${PROJECT_NAME}_WITH_HTML_DOCUMENTATION OR ${PROJECT_NAME}_WITH_PDF_DOCUMENTATION) @@ -296,7 +297,6 @@ if(${PROJECT_NAME}_WITH_TESTS) get_filename_component(_file_full_name ${_file_path} NAME) set(_file_url "${base_url}/${_file_path}") - message(STATUS "Downloading \"${_file_full_name}\"") string(REPLACE " " "%20" _file_url ${_file_url}) string(REPLACE "!" "%21" _file_url ${_file_url}) string(REPLACE "(" "%28" _file_url ${_file_url}) @@ -304,6 +304,8 @@ if(${PROJECT_NAME}_WITH_TESTS) string(REPLACE "[" "%5B" _file_url ${_file_url}) string(REPLACE "]" "%5D" _file_url ${_file_url}) + message(STATUS "Downloading \"${_file_full_name}\"") + file( DOWNLOAD "${_file_url}" "${downloads_dir}/${_file_path}" @@ -370,4 +372,22 @@ if(${PROJECT_NAME}_WITH_TESTS) WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") endif() +string(TOLOWER ${PROJECT_NAME} _lowercase_project_name) +string(TOUPPER ${PROJECT_NAME} _uppercase_project_name) + +set(CPACK_GENERATOR "DEB") +set(CPACK_DEBIAN_PACKAGE_NAME "lib${_lowercase_project_name}") +set(CPACK_DEBIAN_PACKAGE_MAINTAINER ${${PROJECT_NAME}_PACKAGE_MAINTAINER}) +set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT) +set(CPACK_DEB_COMPONENT_INSTALL YES) +set(CPACK_OUTPUT_FILE_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/packages") +set(CPACK_DEBIAN_Z80_RUNTIME_PACKAGE_NAME "lib${_lowercase_project_name}") +set(CPACK_DEBIAN_Z80_DEVELOPMENT_PACKAGE_NAME "lib${_lowercase_project_name}-dev") +set(CPACK_DEBIAN_Z80_DOCUMENTATION_PACKAGE_NAME "lib${_lowercase_project_name}-doc") + +unset(_lowercase_project_name) +unset(_uppercase_project_name) + +include(CPack) + # CMakeLists.txt EOF diff --git a/documentation/CMakeLists.txt b/documentation/CMakeLists.txt index 53897d7..530df23 100644 --- a/documentation/CMakeLists.txt +++ b/documentation/CMakeLists.txt @@ -57,7 +57,8 @@ if(${PROJECT_NAME}_WITH_HTML_DOCUMENTATION) add_dependencies(Documentation-HTML API-XML) install(DIRECTORY "${_html_documentation_output}/" - DESTINATION "${CMAKE_INSTALL_DOCDIR}/documentation") + DESTINATION "${CMAKE_INSTALL_DOCDIR}/documentation" + COMPONENT "${PROJECT_NAME}_Documentation") endif() if(${PROJECT_NAME}_WITH_PDF_DOCUMENTATION) @@ -94,7 +95,8 @@ if(${PROJECT_NAME}_WITH_PDF_DOCUMENTATION) install(FILES ${_pdf_documentation_output} DESTINATION ${CMAKE_INSTALL_DOCDIR} - RENAME "${PROJECT_NAME} v${PROJECT_VERSION}.pdf") + RENAME "${PROJECT_NAME} v${PROJECT_VERSION}.pdf" + COMPONENT "${PROJECT_NAME}_Documentation") endif() # documentation/CMakeLists.txt EOF