From ba6c6756868a0662d7c46c5629fcd8d16e8fddd2 Mon Sep 17 00:00:00 2001 From: VPRamon Date: Sat, 9 May 2026 19:48:39 +0200 Subject: [PATCH] fix: conditionally define CPack package metadata for top-level project --- CMakeLists.txt | 75 ++++++++++++++++++++++++++------------------------ 1 file changed, 39 insertions(+), 36 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 38feb5a..52a5618 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -235,40 +235,43 @@ install(EXPORT tempoch_cppTargets # --------------------------------------------------------------------------- # Packaging (CPack — DEB and RPM) +# Only define package metadata when tempoch-cpp is the top-level project. # --------------------------------------------------------------------------- -set(CPACK_PACKAGE_NAME "tempoch-cpp") -set(CPACK_PACKAGE_VERSION "${PROJECT_VERSION}") -set(CPACK_PACKAGE_VENDOR "Siderust") -set(CPACK_PACKAGE_CONTACT "VPRamon ") -set(CPACK_PACKAGE_DESCRIPTION_SUMMARY - "C++ wrapper for the tempoch astronomical time library") -set(CPACK_PACKAGE_DESCRIPTION - "tempoch-cpp provides a header-only C++17 API over the Rust tempoch\n" - "library via the tempoch-ffi C ABI. It bundles the public C++ headers,\n" - "the tempoch_ffi shared library, and CMake package configuration files.") -set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") -set(CPACK_PACKAGE_HOMEPAGE_URL "https://github.com/Siderust/tempoch-cpp") - -# Keep version components aligned with the top-level project even when -# subprojects define their own versions. -set(CPACK_PACKAGE_VERSION_MAJOR "${PROJECT_VERSION_MAJOR}") -set(CPACK_PACKAGE_VERSION_MINOR "${PROJECT_VERSION_MINOR}") -set(CPACK_PACKAGE_VERSION_PATCH "${PROJECT_VERSION_PATCH}") - -# -- DEB ----------------------------------------------------------------------- -set(CPACK_DEBIAN_PACKAGE_NAME "tempoch-cpp") -set(CPACK_DEBIAN_PACKAGE_MAINTAINER "VPRamon ") -set(CPACK_DEBIAN_PACKAGE_SECTION "libs") -set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.17), libstdc++6 (>= 9)") -set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT) - -# -- RPM ----------------------------------------------------------------------- -set(CPACK_RPM_PACKAGE_NAME "tempoch-cpp") -set(CPACK_RPM_PACKAGE_LICENSE "AGPL-3.0") -set(CPACK_RPM_PACKAGE_GROUP "Development/Libraries") -set(CPACK_RPM_PACKAGE_REQUIRES "glibc >= 2.17, libstdc++ >= 9") -set(CPACK_RPM_FILE_NAME RPM-DEFAULT) - -set(CPACK_GENERATOR "DEB;RPM") - -include(CPack) +if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) + set(CPACK_PACKAGE_NAME "tempoch-cpp") + set(CPACK_PACKAGE_VERSION "${PROJECT_VERSION}") + set(CPACK_PACKAGE_VENDOR "Siderust") + set(CPACK_PACKAGE_CONTACT "VPRamon ") + set(CPACK_PACKAGE_DESCRIPTION_SUMMARY + "C++ wrapper for the tempoch astronomical time library") + set(CPACK_PACKAGE_DESCRIPTION + "tempoch-cpp provides a header-only C++17 API over the Rust tempoch\n" + "library via the tempoch-ffi C ABI. It bundles the public C++ headers,\n" + "the tempoch_ffi shared library, and CMake package configuration files.") + set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") + set(CPACK_PACKAGE_HOMEPAGE_URL "https://github.com/Siderust/tempoch-cpp") + + # Keep version components aligned with the top-level project even when + # subprojects define their own versions. + set(CPACK_PACKAGE_VERSION_MAJOR "${PROJECT_VERSION_MAJOR}") + set(CPACK_PACKAGE_VERSION_MINOR "${PROJECT_VERSION_MINOR}") + set(CPACK_PACKAGE_VERSION_PATCH "${PROJECT_VERSION_PATCH}") + + # -- DEB ----------------------------------------------------------------------- + set(CPACK_DEBIAN_PACKAGE_NAME "tempoch-cpp") + set(CPACK_DEBIAN_PACKAGE_MAINTAINER "VPRamon ") + set(CPACK_DEBIAN_PACKAGE_SECTION "libs") + set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.17), libstdc++6 (>= 9)") + set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT) + + # -- RPM ----------------------------------------------------------------------- + set(CPACK_RPM_PACKAGE_NAME "tempoch-cpp") + set(CPACK_RPM_PACKAGE_LICENSE "AGPL-3.0") + set(CPACK_RPM_PACKAGE_GROUP "Development/Libraries") + set(CPACK_RPM_PACKAGE_REQUIRES "glibc >= 2.17, libstdc++ >= 9") + set(CPACK_RPM_FILE_NAME RPM-DEFAULT) + + set(CPACK_GENERATOR "DEB;RPM") + + include(CPack) +endif()