1
0
Fork 0
arangodb/cmake/packages/packages.cmake

129 lines
3.9 KiB
CMake

if (NOT(MSVC))
set(CPACK_SET_DESTDIR ON)
endif()
set(CPACK_PACKAGE_VENDOR ${ARANGODB_PACKAGE_VENDOR})
set(CPACK_PACKAGE_CONTACT ${ARANGODB_PACKAGE_CONTACT})
# TODO just for rpm?
if (NOT(MSVC))
set(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
endif()
if (USE_ENTERPRISE)
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/enterprise/LICENSE")
else ()
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
endif ()
set(CPACK_STRIP_FILES "ON")
if (${USE_ENTERPRISE})
set(CPACKG_PACKAGE_CONFLICTS "arangodb3")
set(CPACK_PACKAGE_NAME "arangodb3e")
else ()
set(CPACK_PACKAGE_NAME "arangodb3")
set(CPACKG_PACKAGE_CONFLICTS "arangodb3e")
endif ()
set(ARANGODB_PACKAGE_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR})
# eventually the package string will be modified later on:
set(LOGROTATE_GROUP "arangodb")
if ("${PACKAGING}" STREQUAL "DEB")
set(CPACK_PACKAGE_VERSION "${ARANGODB_DEBIAN_UPSTREAM}")
if(CMAKE_TARGET_ARCHITECTURES MATCHES ".*x86_64.*")
set(ARANGODB_PACKAGE_ARCHITECTURE "amd64")
elseif(CMAKE_TARGET_ARCHITECTURES MATCHES "aarch64")
set(ARANGODB_PACKAGE_ARCHITECTURE "arm64")
elseif(CMAKE_TARGET_ARCHITECTURES MATCHES "armv7")
set(ARANGODB_PACKAGE_ARCHITECTURE "armhf")
else()
set(ARANGODB_PACKAGE_ARCHITECTURE "i386")
endif()
set(CPACK_PACKAGE_FILE_NAME
"${CPACK_PACKAGE_NAME}-${ARANGODB_DEBIAN_UPSTREAM}-${ARANGODB_DEBIAN_REVISION}_${ARANGODB_PACKAGE_ARCHITECTURE}")
include(packages/deb)
include(packages/tar)
if (USE_SNAPCRAFT)
if(NOT DEFINED SNAP_PORT)
set(SNAP_PORT 8529)
endif()
include(packages/snap)
endif ()
elseif ("${PACKAGING}" STREQUAL "RPM")
set(CPACK_PACKAGE_VERSION "${ARANGODB_RPM_UPSTREAM}")
set(PACKAGE_VERSION "-${CPACK_PACKAGE_VERSION}-${ARANGODB_RPM_REVISION}.${ARANGODB_PACKAGE_ARCHITECTURE}")
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}${PACKAGE_VERSION}")
include(packages/rpm)
include(packages/tar)
elseif ("${PACKAGING}" STREQUAL "Bundle")
set(CPACK_PACKAGE_VERSION "${ARANGODB_DARWIN_UPSTREAM}")
if ("${ARANGODB_DARWIN_REVISION}" STREQUAL "")
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}.x86_64")
else()
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${ARANGODB_DARWIN_REVISION}.x86_64")
endif()
include(packages/bundle)
include(packages/tar)
elseif (MSVC)
set(CPACK_PACKAGE_VERSION "${ARANGODB_WINDOWS_UPSTREAM}")
if (${USE_ENTERPRISE})
set(CPACK_PACKAGE_NAME "ArangoDB3e")
else()
set(CPACK_PACKAGE_NAME "ArangoDB3")
endif()
if (CMAKE_CL_64)
SET(ARANGODB_PACKAGE_ARCHITECTURE "win64")
else ()
SET(ARANGODB_PACKAGE_ARCHITECTURE "win32")
endif ()
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}_${ARANGODB_PACKAGE_ARCHITECTURE}")
include(packages/nsis)
include(packages/tar)
else ()
set(CPACK_PACKAGE_VERSION "${ARANGODB_VERSION}")
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-1_${ARANGODB_PACKAGE_ARCHITECTURE}")
include(packages/tar)
endif ()
if (UNIX)
if (SYSTEMD_FOUND)
# configure and install logrotate file
configure_file (
${ARANGODB_SOURCE_DIR}/Installation/logrotate.d/arangod.systemd
${PROJECT_BINARY_DIR}/arangod.systemd
NEWLINE_STYLE UNIX
)
install(
FILES ${PROJECT_BINARY_DIR}/arangod.systemd
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/logrotate.d
RENAME ${SERVICE_NAME}
)
else ()
configure_file (
${ARANGODB_SOURCE_DIR}/Installation/logrotate.d/arangod.sysv
${PROJECT_BINARY_DIR}/arangod.sysv
NEWLINE_STYLE UNIX
)
endif ()
endif ()
configure_file(
"${CMAKE_SOURCE_DIR}/Installation/cmake/CMakeCPackOptions.cmake.in"
"${CMAKE_BINARY_DIR}/CMakeCPackOptions.cmake" @ONLY)
set(CPACK_PROJECT_CONFIG_FILE "${CMAKE_BINARY_DIR}/CMakeCPackOptions.cmake")
# Finally: user cpack
include(CPack)