1
0
Fork 0

streamline import process; fix arangoexport

This commit is contained in:
Wilfried Goesgens 2017-02-20 15:35:34 +01:00
parent fea2dbad79
commit 110e548a9a
13 changed files with 137 additions and 165 deletions

View File

@ -96,7 +96,7 @@ set(ARANGODB_FRIENDLY_STRING "ArangoDB - the multi-model database")
set(ARANGO_BENCH_FRIENDLY_STRING "arangobench - stress test program")
set(ARANGO_DUMP_FRIENDLY_STRING "arangodump - export")
set(ARANGO_RESTORE_FRIENDLY_STRING "arangrestore - importer")
set(ARANGO_EXPORT_FRIENDLY_STRING "arangoexport - dataexporter")
set(ARANGO_EXPORT_FRIENDLY_STRING "arangoexport - datae xporter")
set(ARANGO_IMP_FRIENDLY_STRING "arangoimp - TSV/CSV/JSON importer")
set(ARANGOSH_FRIENDLY_STRING "arangosh - commandline client")
set(ARANGO_VPACK_FRIENDLY_STRING "arangovpack - vpack printer")
@ -932,6 +932,7 @@ add_subdirectory(Documentation)
add_dependencies(arangobench zlibstatic)
add_dependencies(arangod zlibstatic)
add_dependencies(arangodump zlibstatic)
add_dependencies(arangoexport zlibstatic)
add_dependencies(arangoimp zlibstatic)
add_dependencies(arangorestore zlibstatic)
add_dependencies(arangosh zlibstatic)
@ -941,6 +942,7 @@ if (NOT USE_PRECOMPILED_V8)
add_dependencies(arangobench v8_build)
add_dependencies(arangod v8_build)
add_dependencies(arangodump v8_build)
add_dependencies(arangoexport v8_build)
add_dependencies(arangoimp v8_build)
add_dependencies(arangorestore v8_build)
add_dependencies(arangosh v8_build)

View File

@ -7,6 +7,6 @@ message( "CMAKE_PROJECT_NAME ${CMAKE_PROJECT_NAME}/ CMAKE_INSTALL_SBINDIR ${CMAK
install_debinfo(
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/strip"
"${CMAKE_PROJECT_NAME}/${CMAKE_INSTALL_SBINDIR}"
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/${BIN_ARANGOD}${CMAKE_EXECUTABLE_SUFFIX}"
"${BIN_ARANGOD}${CMAKE_EXECUTABLE_SUFFIX}"
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}"
"${BIN_ARANGOD}"
)

View File

@ -2,35 +2,38 @@
# these are the install targets for the client package.
# we can't use RUNTIME DESTINATION here.
install_debinfo(
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/strip"
"${CMAKE_PROJECT_NAME}"
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/"
"${BIN_ARANGOBENCH}")
install_debinfo(
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/strip"
"${CMAKE_PROJECT_NAME}"
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}"
"${BIN_ARANGODUMP}")
install_debinfo(
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/strip"
"${CMAKE_PROJECT_NAME}/${CMAKE_INSTALL_BINDIR}"
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/${BIN_ARANGOBENCH}${CMAKE_EXECUTABLE_SUFFIX}"
"${BIN_ARANGOBENCH}${CMAKE_EXECUTABLE_SUFFIX}")
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}"
"${BIN_ARANGOIMP}")
install_debinfo(
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/strip"
"${CMAKE_PROJECT_NAME}/${CMAKE_INSTALL_BINDIR}"
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/${BIN_ARANGODUMP}${CMAKE_EXECUTABLE_SUFFIX}"
"${BIN_ARANGODUMP}${CMAKE_EXECUTABLE_SUFFIX}")
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}"
"${BIN_ARANGORESTORE}")
install_debinfo(
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/strip"
"${CMAKE_PROJECT_NAME}/${CMAKE_INSTALL_BINDIR}"
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/${BIN_ARANGOIMP}${CMAKE_EXECUTABLE_SUFFIX}"
"${BIN_ARANGOIMP}${CMAKE_EXECUTABLE_SUFFIX}")
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}"
"${BIN_ARANGOEXPORT}")
install_debinfo(
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/strip"
"${CMAKE_PROJECT_NAME}/${CMAKE_INSTALL_BINDIR}"
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/${BIN_ARANGORESTORE}${CMAKE_EXECUTABLE_SUFFIX}"
"${BIN_ARANGORESTORE}${CMAKE_EXECUTABLE_SUFFIX}")
install_debinfo(
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/strip"
"${CMAKE_PROJECT_NAME}/${CMAKE_INSTALL_BINDIR}"
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/${BIN_ARANGOEXPORT}${CMAKE_EXECUTABLE_SUFFIX}"
"${BIN_ARANGOEXPORT}${CMAKE_EXECUTABLE_SUFFIX}")
install_debinfo(
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/strip"
"${CMAKE_PROJECT_NAME}/${CMAKE_INSTALL_BINDIR}"
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/${BIN_ARANGOSH}${CMAKE_EXECUTABLE_SUFFIX}"
"${BIN_ARANGOSH}${CMAKE_EXECUTABLE_SUFFIX}")
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}"
"${BIN_ARANGOSH}")

View File

@ -3,103 +3,14 @@
# we can't use RUNTIME DESTINATION here.
set(STRIP_DIR "${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/strip")
execute_process(COMMAND mkdir -p ${STRIP_DIR})
set(FILE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/${BIN_ARANGOBENCH}${CMAKE_EXECUTABLE_SUFFIX})
set(STRIP_FILE ${STRIP_DIR}/${BIN_ARANGOBENCH}${CMAKE_EXECUTABLE_SUFFIX})
if (NOT MSVC AND CMAKE_STRIP)
execute_process(COMMAND "rm" -f ${STRIP_FILE})
execute_process(COMMAND "cp" ${FILE} ${STRIP_DIR})
execute_process(COMMAND "${CMAKE_STRIP}" ${STRIP_FILE})
set(FILE ${STRIP_FILE})
endif()
install(
PROGRAMS ${FILE}
DESTINATION ${CMAKE_INSTALL_BINDIR})
install_config(arangobench)
set(FILE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/${BIN_ARANGODUMP}${CMAKE_EXECUTABLE_SUFFIX})
set(STRIP_FILE ${STRIP_DIR}/${BIN_ARANGODUMP}${CMAKE_EXECUTABLE_SUFFIX})
if (NOT MSVC AND CMAKE_STRIP)
execute_process(COMMAND "rm" -f ${STRIP_FILE})
execute_process(COMMAND "cp" ${FILE} ${STRIP_DIR})
execute_process(COMMAND "${CMAKE_STRIP}" ${STRIP_FILE})
set(FILE ${STRIP_FILE})
endif()
install(
PROGRAMS ${FILE}
DESTINATION ${CMAKE_INSTALL_BINDIR})
install_config(arangodump)
set(FILE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/${BIN_ARANGOIMP}${CMAKE_EXECUTABLE_SUFFIX})
set(STRIP_FILE ${STRIP_DIR}/${BIN_ARANGOIMP}${CMAKE_EXECUTABLE_SUFFIX})
if (NOT MSVC AND CMAKE_STRIP)
execute_process(COMMAND "rm" -f ${STRIP_FILE})
execute_process(COMMAND "cp" ${FILE} ${STRIP_DIR})
execute_process(COMMAND "${CMAKE_STRIP}" ${STRIP_FILE})
set(FILE ${STRIP_FILE})
endif()
install(
PROGRAMS ${FILE}
DESTINATION ${CMAKE_INSTALL_BINDIR})
install_config(arangoimp)
set(FILE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/${BIN_ARANGORESTORE}${CMAKE_EXECUTABLE_SUFFIX})
set(STRIP_FILE ${STRIP_DIR}/${BIN_ARANGORESTORE}${CMAKE_EXECUTABLE_SUFFIX})
if (NOT MSVC AND CMAKE_STRIP)
execute_process(COMMAND "rm" -f ${STRIP_FILE})
execute_process(COMMAND "cp" ${FILE} ${STRIP_DIR})
execute_process(COMMAND "${CMAKE_STRIP}" ${STRIP_FILE})
set(FILE ${STRIP_FILE})
endif()
install(
PROGRAMS ${FILE}
DESTINATION ${CMAKE_INSTALL_BINDIR})
install_config(arangorestore)
set(FILE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/${BIN_ARANGOEXPORT}${CMAKE_EXECUTABLE_SUFFIX})
set(STRIP_FILE ${STRIP_DIR}/${BIN_ARANGOEXPORT}${CMAKE_EXECUTABLE_SUFFIX})
if (NOT MSVC AND CMAKE_STRIP)
execute_process(COMMAND "rm" -f ${STRIP_FILE})
execute_process(COMMAND "cp" ${FILE} ${STRIP_DIR})
execute_process(COMMAND "${CMAKE_STRIP}" ${STRIP_FILE})
set(FILE ${STRIP_FILE})
endif()
install(
PROGRAMS ${FILE}
DESTINATION ${CMAKE_INSTALL_BINDIR})
install_config(arangoexport)
set(FILE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/${BIN_ARANGOSH}${CMAKE_EXECUTABLE_SUFFIX})
set(STRIP_FILE ${STRIP_DIR}/${BIN_ARANGOSH}${CMAKE_EXECUTABLE_SUFFIX})
if (NOT MSVC AND CMAKE_STRIP)
execute_process(COMMAND "rm" -f ${STRIP_FILE})
execute_process(COMMAND "cp" ${FILE} ${STRIP_DIR})
execute_process(COMMAND "${CMAKE_STRIP}" ${STRIP_FILE})
set(FILE ${STRIP_FILE})
endif()
install(
PROGRAMS ${FILE}
DESTINATION ${CMAKE_INSTALL_BINDIR})
install_config(arangosh)
set(FILE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/${BIN_ARANGOVPACK}${CMAKE_EXECUTABLE_SUFFIX})
set(STRIP_FILE ${STRIP_DIR}/${BIN_ARANGOVPACK}${CMAKE_EXECUTABLE_SUFFIX})
if (NOT MSVC AND CMAKE_STRIP)
execute_process(COMMAND "rm" -f ${STRIP_FILE})
execute_process(COMMAND "cp" ${FILE} ${STRIP_DIR})
execute_process(COMMAND "${CMAKE_STRIP}" ${STRIP_FILE})
set(FILE ${STRIP_FILE})
endif()
install(
PROGRAMS ${FILE}
DESTINATION ${CMAKE_INSTALL_BINDIR})
strip_install_bin_and_config(arangobench ${STRIP_DIR} ${CMAKE_INSTALL_BINDIR} strip_install_client)
strip_install_bin_and_config(arangodump ${STRIP_DIR} ${CMAKE_INSTALL_BINDIR} strip_install_client)
strip_install_bin_and_config(arangoimp ${STRIP_DIR} ${CMAKE_INSTALL_BINDIR} strip_install_client)
strip_install_bin_and_config(arangorestore ${STRIP_DIR} ${CMAKE_INSTALL_BINDIR} strip_install_client)
strip_install_bin_and_config(arangoexport ${STRIP_DIR} ${CMAKE_INSTALL_BINDIR} strip_install_client)
strip_install_bin_and_config(arangosh ${STRIP_DIR} ${CMAKE_INSTALL_BINDIR} strip_install_client)
strip_install_bin_and_config(arangovpack ${STRIP_DIR} ${CMAKE_INSTALL_BINDIR} strip_install_client)
install_command_alias(${BIN_ARANGOSH}
${CMAKE_INSTALL_BINDIR}

View File

@ -5,16 +5,21 @@
macro(install_debinfo
STRIP_DIR
USER_SUB_DEBINFO_DIR
USER_FILE
USER_STRIP_FILE)
USER_OUTPUT_DIRECTORY
USER_TARGET)
string(LENGTH "${USER_TARGET}" TLEN)
if (TLEN EQUAL 0)
message(FATAL_ERROR "empty target specified for creating debug file")
endif()
set(SUB_DEBINFO_DIR ${USER_SUB_DEBINFO_DIR})
set(FILE ${USER_FILE})
set(STRIP_FILE ${STRIP_DIR}/${USER_STRIP_FILE})
set(FILE ${USER_OUTPUT_DIRECTORY}/${USER_TARGET}${CMAKE_EXECUTABLE_SUFFIX})
set(STRIP_FILE ${STRIP_DIR}/${USER_TARGET}${CMAKE_EXECUTABLE_SUFFIX})
execute_process(COMMAND mkdir -p ${STRIP_DIR})
if (NOT MSVC AND CMAKE_STRIP AND FILE_EXECUTABLE)
execute_process(COMMAND "rm" -f ${STRIP_FILE})
if (NOT MSVC AND CMAKE_STRIP AND FILE_EXECUTABLE AND STRIP_FILE)
execute_process(COMMAND "${CMAKE_COMMAND} -E MAKE_DIRECTORY ${STRIP_DIR}")
execute_process(COMMAND "${CMAKE_COMMAND} -E REMOVE_RECURSE ${STRIP_FILE}")
execute_process(
COMMAND ${FILE_EXECUTABLE} ${FILE}
@ -33,7 +38,7 @@ macro(install_debinfo
set(SUB_DEBINFO_DIR .build-id/${SUB_DIR})
set(STRIP_FILE "${STRIP_FILE}.debug")
else ()
set(STRIP_FILE ${USER_STRIP_FILE})
set(STRIP_FILE ${USER_TARGET}${CMAKE_EXECUTABLE_SUFFIX})
endif()
execute_process(COMMAND ${CMAKE_OBJCOPY} --only-keep-debug ${FILE} ${STRIP_DIR}/${STRIP_FILE})
set(FILE ${STRIP_DIR}/${STRIP_FILE})
@ -43,7 +48,6 @@ macro(install_debinfo
endif()
endmacro()
# Detect whether this system has SHA checksums
macro(detect_binary_id_type sourceVar)
set(${sourceVar} false)
@ -63,3 +67,37 @@ macro(detect_binary_id_type sourceVar)
endif()
endif()
endmacro()
macro(strip_install_bin_and_config
TARGET
INTERMEDIATE_STRIP_DIR
TAGET_DIR
BIND_TARGET)
string(LENGTH "${TARGET}" TLEN)
if (TLEN EQUAL 0)
message(FATAL_ERROR "empty target specified for creating stripped file")
endif()
set(FILE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/${TARGET}${CMAKE_EXECUTABLE_SUFFIX})
set(STRIP_FILE ${INTERMEDIATE_STRIP_DIR}/${TARGET}${CMAKE_EXECUTABLE_SUFFIX})
if (NOT MSVC AND CMAKE_STRIP)
set(TARGET_NAME "${BIND_TARGET}_${TARGET}")
ExternalProject_Add("${TARGET_NAME}"
SOURCE_DIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}
CONFIGURE_COMMAND ${CMAKE_COMMAND} -E make_directory ${INTERMEDIATE_STRIP_DIR}
COMMENT "creating strip directory"
BUILD_COMMAND ${CMAKE_STRIP} ${FILE} -o ${STRIP_FILE}
COMMENT "stripping binary"
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy ${STRIP_FILE} ${TAGET_DIR}
)
else ()
install(
PROGRAMS ${FILE}
DESTINATION TAGET_DIR)
endif()
install_config(${TARGET})
endmacro()

View File

@ -44,13 +44,13 @@ add_custom_target(package-arongodb-server-bundle
list(APPEND PACKAGES_LIST package-arongodb-server-bundle)
add_custom_target(copy_bundle_packages
COMMAND cp *.dmg ${PACKAGE_TARGET_DIR})
COMMAND ${CMAKE_COMMAND} -E copy *.dmg ${PACKAGE_TARGET_DIR})
list(APPEND COPY_PACKAGES_LIST copy_bundle_packages)
add_custom_target(remove_packages
COMMAND rm -f *.dmg
COMMAND rm -rf _CPack_Packages
COMMAND ${CMAKE_COMMAND} -E REMOVE *.dmg
COMMAND ${CMAKE_COMMAND} -E REMOVE_RECURSIVE _CPack_Packages
)
list(APPEND CLEAN_PACKAGES_LIST remove_packages)

View File

@ -35,6 +35,7 @@ set(PACKAGING_HANDLE_CONFIG_FILES false)
################################################################################
set(BIN_ARANGOBENCH @BIN_ARANGOBENCH@)
set(BIN_ARANGODUMP @BIN_ARANGODUMP@)
set(BIN_ARANGOEXPORT @BIN_ARANGOEXPORT@)
set(BIN_ARANGOIMP @BIN_ARANGOIMP@)
set(BIN_ARANGORESTORE @BIN_ARANGORESTORE@)
set(BIN_ARANGOSH @BIN_ARANGOSH@)
@ -50,6 +51,8 @@ set(ARANGODB_PACKAGE_CONTACT @ARANGODB_PACKAGE_CONTACT@)
set(ARANGODB_PACKAGE_REVISION @ARANGODB_PACKAGE_REVISION@)
set(ARANGODB_PACKAGE_VENDOR @ARANGODB_PACKAGE_VENDOR@)
set(CMAKE_TARGET_ARCHITECTURES @CMAKE_TARGET_ARCHITECTURES@)
set(ARANGODB_PACKAGE_ARCHITECTURE @ARANGODB_PACKAGE_ARCHITECTURE@)
set(CPACK_PACKAGE_FILE_NAME @ARANGODB_CLIENT_PACKAGE_FILE_NAME@)
set(ORIGINAL_SOURCE_DIR @PROJECT_SOURCE_DIR@)
set(PROJECT_SOURCE_DIR @PROJECT_SOURCE_DIR@)
@ -87,22 +90,7 @@ endif ()
file(READ "${PROJECT_SOURCE_DIR}/Installation/debian/client_packagedesc.txt"
CPACK_DEBIAN_PACKAGE_DESCRIPTION)
################################################################################
# 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}")
################################################################################
# Install the external files into the package directory:
@ -110,6 +98,8 @@ set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${AR
set(INSTALL_MACROS_NO_TARGET_INSTALL TRUE)
include(${CMAKE_ROOT}/Modules/ExternalProject.cmake)
include(${ORIGINAL_SOURCE_DIR}/cmake/debugInformation.cmake)
include(${ORIGINAL_SOURCE_DIR}/cmake/InstallMacros.cmake)
include(${ORIGINAL_SOURCE_DIR}/cmake/InstallArangoDBJSClient.cmake)
include(${ORIGINAL_SOURCE_DIR}/arangosh/install.cmake)

View File

@ -20,6 +20,7 @@ set(CMAKE_BUILD_TYPE @CMAKE_BUILD_TYPE@)
set(BIN_ARANGOBENCH @BIN_ARANGOBENCH@)
set(BIN_ARANGODUMP @BIN_ARANGODUMP@)
set(BIN_ARANGOEXPORT @BIN_ARANGOEXPORT@)
set(BIN_ARANGOIMP @BIN_ARANGOIMP@)
set(BIN_ARANGORESTORE @BIN_ARANGORESTORE@)
set(BIN_ARANGOSH @BIN_ARANGOSH@)
@ -39,6 +40,7 @@ set(ARANGODB_PACKAGE_REVISION "@ARANGODB_PACKAGE_REVISION@")
set(CMAKE_INSTALL_FULL_BINDIR "@CMAKE_INSTALL_FULL_BINDIR@")
set(CMAKE_TARGET_ARCHITECTURES "@CMAKE_TARGET_ARCHITECTURES@")
set(CPACK_PACKAGE_FILE_NAME @ARANGODB_CLIENT_PACKAGE_FILE_NAME@)
set(CMAKE_INSTALL_SYSCONFDIR_ARANGO "@CMAKE_INSTALL_SYSCONFDIR_ARANGO@")
set(CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO "@CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO@")
@ -77,7 +79,6 @@ else ()
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
endif ()
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${ARANGODB_PACKAGE_REVISION}_${ARANGODB_PACKAGE_ARCHITECTURE}")
################################################################################
# ------------------------------------------------------------------------------
@ -168,6 +169,8 @@ set(CPACK_ARANGODB_NSIS_DEFINES "
################################################################################
# Install the external files into the package directory:
################################################################################
include(${CMAKE_ROOT}/Modules/ExternalProject.cmake)
include(${ORIGINAL_SOURCE_DIR}/cmake/debugInformation.cmake)
include(${ORIGINAL_SOURCE_DIR}/cmake/InstallArangoDBJSClient.cmake)
include(${ORIGINAL_SOURCE_DIR}/arangosh/install.cmake)

View File

@ -45,6 +45,7 @@ set(BIN_ARANGOD @BIN_ARANGOD@)
set(BIN_ARANGOBENCH @BIN_ARANGOBENCH@)
set(BIN_ARANGODUMP @BIN_ARANGODUMP@)
set(BIN_ARANGOEXPORT @BIN_ARANGOEXPORT@)
set(BIN_ARANGOIMP @BIN_ARANGOIMP@)
set(BIN_ARANGORESTORE @BIN_ARANGORESTORE@)
set(BIN_ARANGOSH @BIN_ARANGOSH@)

View File

@ -42,6 +42,10 @@ list(APPEND CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
"${PROJECT_SOURCE_DIR}/Installation/debian/postrm"
"${PROJECT_SOURCE_DIR}/Installation/debian/prerm")
################################################################################
# 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")
@ -51,6 +55,7 @@ elseif(CMAKE_TARGET_ARCHITECTURES MATCHES "armv7")
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}")
@ -91,26 +96,36 @@ list(APPEND PACKAGES_LIST package-arongodb-server)
################################################################################
# hook to build the client package
################################################################################
set(ARANGODB_CLIENT_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${ARANGODB_PACKAGE_REVISION}_${ARANGODB_PACKAGE_ARCHITECTURE}")
set(CLIENT_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/packages/arangodb-client)
configure_file(cmake/packages/client/deb.txt ${CLIENT_BUILD_DIR}/CMakeLists.txt @ONLY)
add_custom_target(package-arongodb-client
COMMAND ${CMAKE_COMMAND} .
COMMENT "configuring client package environment"
COMMAND ${CMAKE_CPACK_COMMAND} -G DEB
COMMAND cp *.deb ${PROJECT_BINARY_DIR}
COMMENT "building client packages"
COMMAND ${CMAKE_COMMAND} -E copy ${CLIENT_BUILD_DIR}/${ARANGODB_CLIENT_PACKAGE_FILE_NAME}.deb ${PROJECT_BINARY_DIR}
COMMENT "uploading client packages"
WORKING_DIRECTORY ${CLIENT_BUILD_DIR})
list(APPEND PACKAGES_LIST package-arongodb-client)
add_custom_target(copy_deb_packages
COMMAND cp *.deb ${PACKAGE_TARGET_DIR})
COMMAND ${CMAKE_COMMAND} -E copy *.deb ${PACKAGE_TARGET_DIR}
COMMENT "copying packages to ${PACKAGE_TARGET_DIR}")
list(APPEND COPY_PACKAGES_LIST copy_deb_packages)
add_custom_target(remove_packages
COMMAND rm -f *.deb
COMMAND rm -rf _CPack_Packages
COMMAND rm -rf packages
COMMAND ${CMAKE_COMMAND} -E REMOVE_RECURSIVE _CPack_Packages
COMMENT Removing server packaging build directory
COMMAND ${CMAKE_COMMAND} -E REMOVE_RECURSIVE packages
COMMENT Removing client packaging build directory
COMMAND ${CMAKE_COMMAND} -E REMOVE *.deb
COMMENT Removing local target packages
)
list(APPEND CLEAN_PACKAGES_LIST remove_packages)
@ -123,9 +138,9 @@ set(DEBUG_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/packages/arangodb3-dbg)
configure_file(cmake/packages/dbg/deb.txt ${DEBUG_BUILD_DIR}/CMakeLists.txt @ONLY)
add_custom_target(package-arongodb-dbg
COMMAND ${CMAKE_COMMAND} . -DCMAKE_OBJCOPY=${CMAKE_OBJCOPY}
COMMAND ${CMAKE_COMMAND} . -DCMAKE_OBJCOPY=${CMAKE_OBJCOPY}
COMMAND ${CMAKE_CPACK_COMMAND} -G DEB
COMMAND cp *.deb ${PROJECT_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} -E copy *.deb ${PROJECT_BINARY_DIR}
WORKING_DIRECTORY ${DEBUG_BUILD_DIR})
list(APPEND PACKAGES_LIST package-arongodb-dbg)

View File

@ -82,6 +82,9 @@ list(APPEND PACKAGES_LIST package-arongodb-server-zip)
################################################################################
# hook to build the client package
################################################################################
set(ARANGODB_CLIENT_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${ARANGODB_PACKAGE_REVISION}_${ARANGODB_PACKAGE_ARCHITECTURE}")
string(LENGTH "${CLIENT_BUILD_DIR}" CLIENT_BUILD_DIR_LEN)
if (${CLIENT_BUILD_DIR_LEN} EQUAL 0)
set(CLIENT_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/../p)
@ -90,27 +93,33 @@ endif()
configure_file(cmake/packages/client/nsis.txt ${CLIENT_BUILD_DIR}/CMakeLists.txt @ONLY)
add_custom_target(package-arongodb-client-nsis
COMMAND ${CMAKE_COMMAND} .
COMMENT "configuring client package environment"
COMMAND ${CMAKE_CPACK_COMMAND} -G NSIS -C ${CMAKE_BUILD_TYPE}
COMMAND cp *.exe ${PROJECT_BINARY_DIR}
COMMENT "building client packages"
COMMAND ${CMAKE_COMMAND} -E copy ${CLIENT_BUILD_DIR}/${ARANGODB_CLIENT_PACKAGE_FILE_NAME}.exe ${PROJECT_BINARY_DIR}
COMMENT "uploading client packages"
WORKING_DIRECTORY ${CLIENT_BUILD_DIR})
list(APPEND PACKAGES_LIST package-arongodb-client-nsis)
add_custom_target(copy_nsis_packages
COMMAND cp *.exe ${PACKAGE_TARGET_DIR})
COMMAND ${CMAKE_COMMAND} -E copy *.exe ${PACKAGE_TARGET_DIR})
list(APPEND COPY_PACKAGES_LIST copy_nsis_packages)
add_custom_target(copy_zip_packages
COMMAND cp *.zip ${PACKAGE_TARGET_DIR})
COMMAND ${CMAKE_COMMAND} -E copy *.zip ${PACKAGE_TARGET_DIR})
list(APPEND COPY_PACKAGES_LIST copy_zip_packages)
add_custom_target(remove_packages
COMMAND rm -f *.zip
COMMAND rm -f *.exe
COMMAND rm -rf _CPack_Packages
COMMAND ${CMAKE_COMMAND} -E REMOVE_RECURSIVE _CPack_Packages
COMMENT Removing server packaging build directory
COMMAND ${CMAKE_COMMAND} -E REMOVE *.zip
COMMENT Removing local target zip packages
COMMAND ${CMAKE_COMMAND} -E REMOVE *.exe
COMMENT Removing local target nsis packages
)
list(APPEND CLEAN_PACKAGES_LIST remove_packages)

View File

@ -52,7 +52,7 @@ include(arangod/dbg.cmake)
add_custom_target(package-arongodb-server
COMMAND ${CMAKE_COMMAND} .
COMMAND ${CMAKE_CPACK_COMMAND} -G RPM
COMMAND cp "${CPACK_TEMPORARY_DIRECTORY}/*.rpm" "${PROJECT_BINARY_DIR}"
COMMAND ${CMAKE_COMMAND} -E copy ${CPACK_TEMPORARY_DIRECTORY}/*.rpm ${PROJECT_BINARY_DIR}
WORKING_DIRECTORY ${PROJECT_BINARY_DIR})
list(APPEND PACKAGES_LIST package-arongodb-server)
@ -64,19 +64,19 @@ list(APPEND PACKAGES_LIST package-arongodb-server)
#add_custom_target(package-arongodb-client
# COMMAND ${CMAKE_COMMAND} .
# COMMAND ${CMAKE_CPACK_COMMAND} -G RPM
# COMMAND cp *.rpm ${PROJECT_BINARY_DIR}
# COMMAND ${CMAKE_COMMAND} -E copy *.rpm ${PROJECT_BINARY_DIR}
# WORKING_DIRECTORY ${CLIENT_BUILD_DIR})
#
#
#list(APPEND PACKAGES_LIST package-arongodb-client)
add_custom_target(copy_rpm_packages
COMMAND cp *.rpm ${PACKAGE_TARGET_DIR})
COMMAND ${CMAKE_COMMAND} -E copy *.rpm ${PACKAGE_TARGET_DIR})
list(APPEND COPY_PACKAGES_LIST copy_rpm_packages)
add_custom_target(remove_packages
COMMAND rm -f *.rpm
COMMAND rm -rf _CPack_Packages
COMMAND ${CMAKE_COMMAND} -E REMOVE_RECURSIVE _CPack_Packages
COMMAND ${CMAKE_COMMAND} -E REMOVE *.rpm
)
list(APPEND CLEAN_PACKAGES_LIST remove_packages)

View File

@ -37,13 +37,13 @@ if(SNAPCRAFT_FOUND)
add_custom_target(snap
COMMENT "create snap-package"
COMMAND ${SNAP_EXE} snap
COMMAND cp *.snap ${PROJECT_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} -E copy *.snap ${PROJECT_BINARY_DIR}
DEPENDS TGZ_package
WORKING_DIRECTORY ${SNAPCRAFT_SOURCE_DIR}
)
add_custom_target(copy_snap_packages
COMMAND cp *.snap ${PACKAGE_TARGET_DIR})
COMMAND ${CMAKE_COMMAND} -E copy *.snap ${PACKAGE_TARGET_DIR})
list(APPEND COPY_PACKAGES_LIST copy_snap_packages)