summaryrefslogtreecommitdiff
path: root/cmake/Package.cmake
diff options
context:
space:
mode:
authorluwenpeng <[email protected]>2023-12-08 11:16:23 +0800
committerluwenpeng <[email protected]>2023-12-08 11:18:16 +0800
commitcf6d855aa44827b9ef1a7e7091e48aecdfd3156f (patch)
tree6abfacd9024a92ed676bac100c9aa3b5129c844d /cmake/Package.cmake
Initial commit, building project framework
Diffstat (limited to 'cmake/Package.cmake')
-rw-r--r--cmake/Package.cmake36
1 files changed, 36 insertions, 0 deletions
diff --git a/cmake/Package.cmake b/cmake/Package.cmake
new file mode 100644
index 0000000..4dd1abf
--- /dev/null
+++ b/cmake/Package.cmake
@@ -0,0 +1,36 @@
+if(CMAKE_BUILD_TYPE STREQUAL "Debug")
+ set(CPACK_PACKAGE_NAME "stellar-debug")
+else()
+ set(CPACK_PACKAGE_NAME "stellar")
+endif()
+
+message(STATUS "Package: ${CPACK_PACKAGE_NAME}")
+
+set(CPACK_PACKAGE_VENDOR "TSG")
+set(CPACK_PACKAGE_VERSION_MAJOR "${VERSION_MAJOR}")
+set(CPACK_PACKAGE_VERSION_MINOR "${VERSION_MINOR}")
+set(CPACK_PACKAGE_VERSION_PATCH "${VERSION_PATCH}.${DESCRIBE}")
+set(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
+
+# RPM Build
+set(CPACK_GENERATOR "RPM")
+set(CPACK_RPM_AUTO_GENERATED_FILE_NAME ON)
+set(CPACK_RPM_FILE_NAME "RPM-DEFAULT")
+set(CPACK_RPM_PACKAGE_AUTOREQPROV "no")
+set(CPACK_RPM_PACKAGE_RELEASE_DIST on)
+set(CPACK_RPM_DEBUGINFO_PACKAGE on)
+set(CPACK_RPM_POST_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/cmake/PostInstall.in)
+set(CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/cmake/PostUninstall.in)
+set(CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/cmake/PreUninstall.in)
+
+# Must uninstall the debug package before install release package
+if(CMAKE_BUILD_TYPE STREQUAL "Debug")
+ set(CPACK_RPM_PACKAGE_CONFLICTS "stellar")
+else()
+ set(CPACK_RPM_PACKAGE_CONFLICTS "stellar-debug")
+endif()
+
+# setup %config(noreplace)
+set(CPACK_RPM_USER_FILELIST "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/conf/stellar.conf")
+
+include(CPack) \ No newline at end of file