1+ set (CPACK_PACKAGE_DESCRIPTION "OpenTelemetry C++ Geneva Exporter for Metrics" )
2+ set (CPACK_PACKAGE_DESCRIPTION_SUMMARY "OpenTelemetry C++ Geneva Exporter for Metrics - C++ Implementation of OpenTelemetry C++ Exporter to Upload Metics to Geneva" )
3+ set (CPACK_PACKAGE_VENDOR "OpenTelemetry" )
4+ set (CPACK_PACKAGE_CONTACT "OpenTelemetry-cpp" )
5+ set (CPACK_PACKAGE_HOMEPAGE_URL "https://opentelemetry.io/" )
6+ set (CMAKE_PROJECT_NAME "opentelemetry-cpp-geneva-metrics" )
7+ set (OPENTELEMETRY_GENEVA_METRICS_VERSION "1.0.0" )
8+
9+ option (TARBALL "Build a tarball package" OFF )
10+
11+ if (UNIX AND NOT APPLE )
12+ include (cmake/ParseOsRelease.cmake)
13+ set (CPACK_SYSTEM_NAME "${OS_RELEASE_ID} -${OS_RELEASE_VERSION_ID} " )
14+ #set(CPACK_PACKAGING_INSTALL_PREFIX "/usr/local")
15+ set (CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME} -${OPENTELEMETRY_GENEVA_METRICS_VERSION} -${CPACK_SYSTEM_NAME} -${CMAKE_SYSTEM_PROCESSOR} " )
16+
17+ # Check if system is deb or rpm capable
18+ find_program (RPMCAPABLE rpmbuild)
19+ find_program (DEBCAPABLE dpkg-buildpackage)
20+ if (TARBALL)
21+ set (CPACK_GENERATOR "TGZ" )
22+ message ("-- Package name: ${CPACK_PACKAGE_FILE_NAME} .tar.gz" )
23+ elseif (DEBCAPABLE MATCHES "NOTFOUND" AND RPMCAPABLE MATCHES "NOTFOUND" )
24+ message (FATAL_ERROR "Required Package generator not found for either deb or rpm."
25+ " Install required package generation software and try again" )
26+ elseif (NOT DEBCAPABLE MATCHES "NOTFOUND" )
27+ if (NOT RPMCAPABLE MATCHES "NOTFOUND" )
28+ message (WARNING "Both deb and rpm package generator found."
29+ "Selecting deb as default packager." )
30+ endif ()
31+ set (CPACK_GENERATOR "DEB" )
32+ set (INSTALL_LIB_DIR
33+ ${CMAKE_INSTALL_PREFIX} /lib/${CPACK_DEBIAN_ARCHITECTURE} -linux-gnu)
34+ set (CPACK_DEBIAN_PACKAGE_PRIORITY "optional" )
35+ set (CPACK_DEBIAN_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR} )
36+ #set(CPACK_COMPONENTS_ALL headers libraries)
37+ set (CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON )
38+ message ("-- Package name: ${CPACK_PACKAGE_FILE_NAME} .deb" )
39+ elseif (NOT RPMCAPABLE MATCHES "NOTFOUND" )
40+ set (CPACK_GENERATOR "RPM" )
41+ set (INSTALL_LIB_DIR
42+ ${CMAKE_INSTALL_PREFIX} /lib/${CMAKE_SYSTEM_PROCESSOR} -linux-gnu)
43+ list (APPEND CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "/usr/lib64/cmake" )
44+ list (APPEND CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "/usr/lib64/pkgconfig" )
45+ set (CPACK_RPM_PACKAGE_LICENSE "Apache-2.0" )
46+ message ("-- Package name: ${CPACK_PACKAGE_FILE_NAME} .rpm" )
47+ endif ()
48+ elseif (APPLE )
49+ if (TARBALL)
50+ set (CPACK_GENERATOR "TGZ" )
51+ message ("-- Package name: ${CPACK_PACKAGE_FILE_NAME} .tar.gz" )
52+ endif ()
53+ elseif (WIN32 )
54+ find_program (NUGETCAPABLE nuget)
55+ if (NOT NUGETCAPABLE MATCHES "NOTFOUND" )
56+ set (CPACK_NUGET_PACKAGE_NAME "${CPACK_PROJECT_NAME} " )
57+ set (CPACK_NUGET_PACKAGE_VERSION "${OPENTELEMETRY_GENEVA_METRICS_VERSION} " )
58+ set (CPACK_NUGET_PACKAGE_DESCRIPTION "${CPACK_PACKAGE_DESCRIPTION} " )
59+ set (CPACK_NUGET_PACKAGE_AUTHORS "${CPACK_PACKAGE_VENDOR} " )
60+ set (CPACK_NUGET_PACKAGE_TITLE "${CPACK_PACKAGE_DESCRIPTION_SUMMARY} " )
61+ set (CPACK_NUGET_PACKAGE_OWNERS "${CPACK_PACKAGE_VENDOR} " )
62+ set (CPACK_NUGET_PACKAGE_HOMEPAGE_URL "${CPACK_PACKAGE_HOMEPAGE_URL} " )
63+ set (CPACK_NUGET_PACKAGE_DESCRIPTION_SUMMARY "${CPACK_PACKAGE_DESCRIPTION_SUMMARY} " )
64+ set (CPACK_NUGET_PACKAGE_COPYRIGHT "${CPACK_PACKAGE_VENDOR} " )
65+ set (CPACK_NUGET_PACKAGE_LICENSEURL "https://www.apache.org/licenses/LICENSE-2.0.txt" )
66+ set (CPACK_NUGET_PACKAGE_LANGUAGE "en_US" )
67+ set (CPACK_GENERATOR NuGet)
68+ else ()
69+ set (CPACK_GENERATOR ZIP)
70+ endif ()
71+ endif ()
0 commit comments