From 61abce6ac0a8030a49c500c9bc807f1fa61cfae3 Mon Sep 17 00:00:00 2001 From: Wilfried Goesgens Date: Wed, 22 Feb 2017 00:00:42 +0100 Subject: [PATCH] structure when to define and use the cpack package filename so its consistent --- Installation/Ubuntu/snapcraft.yaml.in | 2 +- cmake/packages/bundle.cmake | 1 - cmake/packages/deb.cmake | 11 ------- cmake/packages/nsis.cmake | 5 +-- cmake/packages/packages.cmake | 46 +++++++++++++++++++-------- cmake/packages/rpm.cmake | 10 +++--- cmake/packages/snap.cmake | 11 ------- cmake/packages/tar.cmake | 15 +++++++-- 8 files changed, 51 insertions(+), 50 deletions(-) diff --git a/Installation/Ubuntu/snapcraft.yaml.in b/Installation/Ubuntu/snapcraft.yaml.in index 0ddae8b9e7..6846e6e9ec 100644 --- a/Installation/Ubuntu/snapcraft.yaml.in +++ b/Installation/Ubuntu/snapcraft.yaml.in @@ -15,7 +15,7 @@ grade: stable parts: @CPACK_PACKAGE_NAME@: - source: @ARANGODB_BASIC_PACKAGE_FILE_NAME@.tar.gz + source: @CMAKE_BINARY_DIR@/@CPACK_PACKAGE_FILE_NAME@.tar.gz plugin: dump prime: - -etc diff --git a/cmake/packages/bundle.cmake b/cmake/packages/bundle.cmake index b8c28859ef..bc1ddd83db 100644 --- a/cmake/packages/bundle.cmake +++ b/cmake/packages/bundle.cmake @@ -5,7 +5,6 @@ else() set(CPACK_PACKAGE_NAME "ArangoDB3-CLI") endif() set(CPACK_BUNDLE_NAME "${CPACK_PACKAGE_NAME}") -set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${ARANGODB_PACKAGE_REVISION}_x86_64") set(CPACK_BUNDLE_ICON "${PROJECT_SOURCE_DIR}/Installation/MacOSX/Bundle/icon.icns") diff --git a/cmake/packages/deb.cmake b/cmake/packages/deb.cmake index 37ff824f6d..7b27ba3bef 100644 --- a/cmake/packages/deb.cmake +++ b/cmake/packages/deb.cmake @@ -46,18 +46,7 @@ list(APPEND CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA # specify which target archcitecture the package is going to be: ################################################################################ -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_DEBIAN_PACKAGE_ARCHITECTURE ${ARANGODB_PACKAGE_ARCHITECTURE}) -set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${ARANGODB_PACKAGE_REVISION}_${ARANGODB_PACKAGE_ARCHITECTURE}") set(ARANGODB_DBG_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-dbg-${CPACK_PACKAGE_VERSION}-${ARANGODB_PACKAGE_REVISION}_${ARANGODB_PACKAGE_ARCHITECTURE}") diff --git a/cmake/packages/nsis.cmake b/cmake/packages/nsis.cmake index 8412fd5f1f..608ec09c3a 100644 --- a/cmake/packages/nsis.cmake +++ b/cmake/packages/nsis.cmake @@ -13,15 +13,13 @@ set(CPACK_NSIS_MODIFY_PATH ON) set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL 1) set(CPACK_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/Installation/Windows/Templates") set(CPACK_PLUGIN_PATH "${CMAKE_CURRENT_SOURCE_DIR}/Installation/Windows/Plugins") -set(BITS 64) + if (CMAKE_CL_64) # this needs to remain a $string for the template: SET(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES64") - SET(ARANGODB_PACKAGE_ARCHITECTURE "win64") SET(BITS 64) else () SET(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES") - SET(ARANGODB_PACKAGE_ARCHITECTURE "win32") SET(BITS 32) endif () @@ -59,7 +57,6 @@ set(CPACK_ARANGODB_NSIS_DEFINES " !define BIN_DIR '${W_BIN_DIR}' ") -set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${ARANGODB_PACKAGE_REVISION}_${ARANGODB_PACKAGE_ARCHITECTURE}") ################################################################################ # hook to build the server package diff --git a/cmake/packages/packages.cmake b/cmake/packages/packages.cmake index 85289f8cca..b349b780c4 100644 --- a/cmake/packages/packages.cmake +++ b/cmake/packages/packages.cmake @@ -25,31 +25,51 @@ else () endif () set(ARANGODB_PACKAGE_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR}) # eventually the package string will be modified later on: -set(ARANGODB_BASIC_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${ARANGODB_PACKAGE_REVISION}.${ARANGODB_PACKAGE_ARCHITECTURE}") + +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(ARANGODB_BASIC_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${ARANGODB_PACKAGE_REVISION}_${ARANGODB_PACKAGE_ARCHITECTURE}") + set(CPACK_PACKAGE_FILE_NAME "${ARANGODB_BASIC_PACKAGE_FILE_NAME}") if ("${PACKAGING}" STREQUAL "DEB") 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(PACKAGE_VERSION "-${CPACK_PACKAGE_VERSION}-${ARANGODB_PACKAGE_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_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${ARANGODB_PACKAGE_REVISION}_x86_64") include(packages/bundle) + include(packages/tar) elseif (MSVC) + 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_REVISION}_${ARANGODB_PACKAGE_ARCHITECTURE}") include(packages/nsis) + include(packages/tar) endif () -include(packages/tar) - -################################################################################ -## SNAPCRAFT PACKAGE -################################################################################ - -if (USE_SNAPCRAFT) - if(NOT DEFINED SNAP_PORT) - set(SNAP_PORT 8529) - endif() - include(packages/snap) -endif () configure_file( "${CMAKE_SOURCE_DIR}/Installation/cmake/CMakeCPackOptions.cmake.in" diff --git a/cmake/packages/rpm.cmake b/cmake/packages/rpm.cmake index e488e61400..08f71aeb42 100644 --- a/cmake/packages/rpm.cmake +++ b/cmake/packages/rpm.cmake @@ -35,10 +35,8 @@ install( ) # -set(PACKAGE_VERSION "-${CPACK_PACKAGE_VERSION}-${ARANGODB_PACKAGE_REVISION}.${ARANGODB_PACKAGE_ARCHITECTURE}") -set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}${PACKAGE_VERSION}") set(CPACK_CLIENT_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-client${PACKAGE_VERSION}") -set(CPACK_dbg_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-debuginfo${PACKAGE_VERSION}") +set(CPACK_DBG_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-debuginfo${PACKAGE_VERSION}") set(CPACK_RPM_PACKAGE_RELOCATABLE FALSE) # set(CPACK_RPM_PACKAGE_DEBUG TRUE) @@ -55,7 +53,7 @@ add_custom_target(package-arongodb-server COMMAND ${CMAKE_CPACK_COMMAND} -G RPM COMMAND ${CMAKE_COMMAND} -E copy ${CPACK_TEMPORARY_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}.rpm ${PROJECT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E copy ${CPACK_TEMPORARY_DIRECTORY}/${CPACK_CLIENT_PACKAGE_FILE_NAME}.rpm ${PROJECT_BINARY_DIR} - COMMAND ${CMAKE_COMMAND} -E copy ${CPACK_TEMPORARY_DIRECTORY}/${CPACK_dbg_PACKAGE_FILE_NAME}.rpm ${PROJECT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy ${CPACK_TEMPORARY_DIRECTORY}/${CPACK_DBG_PACKAGE_FILE_NAME}.rpm ${PROJECT_BINARY_DIR} WORKING_DIRECTORY ${PROJECT_BINARY_DIR}) list(APPEND PACKAGES_LIST package-arongodb-server) @@ -65,7 +63,7 @@ list(APPEND PACKAGES_LIST package-arongodb-server) add_custom_target(copy_rpm_packages COMMAND ${CMAKE_COMMAND} -E copy ${CPACK_PACKAGE_FILE_NAME}.rpm ${PACKAGE_TARGET_DIR} COMMAND ${CMAKE_COMMAND} -E copy ${CPACK_CLIENT_PACKAGE_FILE_NAME}.rpm ${PACKAGE_TARGET_DIR} - COMMAND ${CMAKE_COMMAND} -E copy ${CPACK_dbg_PACKAGE_FILE_NAME}.rpm ${PACKAGE_TARGET_DIR}) + COMMAND ${CMAKE_COMMAND} -E copy ${CPACK_DBG_PACKAGE_FILE_NAME}.rpm ${PACKAGE_TARGET_DIR}) list(APPEND COPY_PACKAGES_LIST copy_rpm_packages) @@ -73,7 +71,7 @@ add_custom_target(remove_packages COMMAND ${CMAKE_COMMAND} -E remove_directory _CPack_Packages COMMAND ${CMAKE_COMMAND} -E remove ${CPACK_PACKAGE_FILE_NAME}.rpm COMMAND ${CMAKE_COMMAND} -E remove ${CPACK_CLIENT_PACKAGE_FILE_NAME}.rpm - COMMAND ${CMAKE_COMMAND} -E remove ${CPACK_dbg_PACKAGE_FILE_NAME}.rpm + COMMAND ${CMAKE_COMMAND} -E remove ${CPACK_DBG_PACKAGE_FILE_NAME}.rpm ) list(APPEND CLEAN_PACKAGES_LIST remove_packages) diff --git a/cmake/packages/snap.cmake b/cmake/packages/snap.cmake index 96beded617..6486553b99 100644 --- a/cmake/packages/snap.cmake +++ b/cmake/packages/snap.cmake @@ -5,17 +5,6 @@ if(EXISTS ${SNAP_EXE}) endif() if(SNAPCRAFT_FOUND) - 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}_${CPACK_PACKAGE_VERSION}_${ARANGODB_PACKAGE_ARCHITECTURE}") set(SNAPCRAFT_TEMPLATE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Installation/Ubuntu") set(SNAPCRAFT_SOURCE_DIR "${CMAKE_BINARY_DIR}/_CPack_Packages/SNAP") diff --git a/cmake/packages/tar.cmake b/cmake/packages/tar.cmake index 51338096bd..636f9f1bad 100644 --- a/cmake/packages/tar.cmake +++ b/cmake/packages/tar.cmake @@ -2,9 +2,18 @@ ################################################################################ ## generic tarball ################################################################################ -set(CPACK_PACKAGE_FILE_NAME "${ARANGODB_BASIC_PACKAGE_FILE_NAME}") -set(CPACK_PACKAGE_TGZ "${CMAKE_BINARY_DIR}/${ARANGODB_BASIC_PACKAGE_FILE_NAME}.tar.gz") +set(CPACK_PACKAGE_TGZ "${CMAKE_BINARY_DIR}/${CPACK_PACKAGE_FILE_NAME}.tar.gz") add_custom_target(TGZ_package COMMENT "create TGZ-package" - COMMAND ${CMAKE_CPACK_COMMAND} -G TGZ -C ${CMAKE_BUILD_TYPE} + COMMAND ${CMAKE_CPACK_COMMAND} -G TGZ -C ${CMAKE_BUILD_TYPE} ) + +add_custom_target(remove_tgz_packages + COMMAND ${CMAKE_COMMAND} -E remove_directory _CPack_Packages + COMMENT Removing server packaging build directory + COMMAND ${CMAKE_COMMAND} -E remove ${CPACK_PACKAGE_TGZ} + COMMENT Removing local tgz packages + ) + +list(APPEND CLEAN_PACKAGES_LIST remove_tgz_packages) +