if(MACHINE STREQUAL ${AARCH64}) # Under the aarch64 architecture, marsio does not distinguish between machines if(CMAKE_BUILD_TYPE STREQUAL "Debug") set(PACKAGE_NAME_DEBUG "mrzcpd-debug") else() set(PACKAGE_NAME "mrzcpd") endif() else() if(CMAKE_BUILD_TYPE STREQUAL "Debug") set(PACKAGE_NAME_DEBUG "mrzcpd-debug-${MACHINE}") else() set(PACKAGE_NAME "mrzcpd-${MACHINE}") endif() endif() if(CMAKE_BUILD_TYPE STREQUAL "Debug") set(CPACK_PACKAGE_NAME ${PACKAGE_NAME_DEBUG}) else() set(CPACK_PACKAGE_NAME ${PACKAGE_NAME}) endif() # Must uninstall the debug package before install release package if(CMAKE_BUILD_TYPE STREQUAL "Debug") set(CPACK_RPM_PACKAGE_CONFLICTS ${PACKAGE_NAME}) else() set(CPACK_RPM_PACKAGE_CONFLICTS ${PACKAGE_NAME_DEBUG}) endif() message(STATUS "Package: ${CPACK_PACKAGE_NAME}") set(CPACK_PACKAGE_VECDOR "Mesasoft@IIE") set(CPACK_PACKAGE_VERSION_MAJOR "${MARSIO_VERSION_MAJOR}") set(CPACK_PACKAGE_VERSION_MINOR "${MARSIO_VERSION_MINOR}") set(CPACK_PACKAGE_VERSION_PATCH "${MARSIO_VERSION_PATCH}.${MARSIO_VERSION_BUILD}") 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_VENDOR "Mesasoft@IIE") set(CPACK_RPM_PACKAGE_AUTOREQPROV "no") set(CPACK_RPM_PACKAGE_RELEASE_DIST on) set(CPACK_RPM_DEBUGINFO_PACKAGE on) # set(CPACK_RPM_PACKAGE_DEBUG ON) configure_file(${CMAKE_SOURCE_DIR}/cmake/PostInstall.in ${CMAKE_BINARY_DIR}/PostInstall.in @ONLY) configure_file(${CMAKE_SOURCE_DIR}/cmake/PostUninstall.in ${CMAKE_BINARY_DIR}/PostUninstall.in @ONLY) set(CPACK_RPM_POST_INSTALL_SCRIPT_FILE ${CMAKE_BINARY_DIR}/PostInstall.in) set(CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE ${CMAKE_BINARY_DIR}/PostUninstall.in) set(CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/cmake/PreUninstall.in) # setup %config(noreplace) set(CPACK_RPM_USER_FILELIST "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/etc/mrglobal.conf" "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/etc/mrtunnat.conf" "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/etc/mrapm.conf" "%config(noreplace) /etc/sysconfig/mrzcpd") include(CPack)