################################################################################ # the client package is a complete cmake sub package. ################################################################################ project(arangodb3-client) cmake_minimum_required(VERSION 2.8) ################################################################################ # variables from the main build have to be explicitely forwarded: ################################################################################ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "@CMAKE_BINARY_DIR@/bin") set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_X "@CMAKE_BINARY_DIR@/bin/$/") set(CMAKE_BUILD_TYPE @CMAKE_BUILD_TYPE@) set(USE_ENTERPRISE @USE_ENTERPRISE@) ################################################################################ # Substitute the install binaries: ################################################################################ set(BIN_ARANGOBACKUP @BIN_ARANGOBACKUP@) set(BIN_ARANGOBENCH @BIN_ARANGOBENCH@) set(BIN_ARANGODUMP @BIN_ARANGODUMP@) set(BIN_ARANGOEXPORT @BIN_ARANGOEXPORT@) set(BIN_ARANGOIMPORT @BIN_ARANGOIMPORT@) set(BIN_ARANGOIMP @BIN_ARANGOIMP@) set(BIN_ARANGORESTORE @BIN_ARANGORESTORE@) set(BIN_ARANGOSH @BIN_ARANGOSH@) set(BIN_ARANGOVPACK @BIN_ARANGOVPACK@) set(CMAKE_INSTALL_BINDIR "@CMAKE_INSTALL_BINDIR@") ################################################################################ # build specific variables: ################################################################################ set(ARANGODB_URL_INFO_ABOUT "@ARANGODB_URL_INFO_ABOUT@") set(ARANGODB_SOURCE_DIR "@ARANGODB_SOURCE_DIR@") set(ARANGODB_VERSION "@ARANGODB_VERSION@") set(ARANGODB_PACKAGE_ARCHITECTURE "@ARANGODB_PACKAGE_ARCHITECTURE@") set(ARANGODB_PACKAGE_CONTACT "@ARANGODB_PACKAGE_CONTACT@") 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@") set(CPACK_PACKAGE_NAME "@CPACK_CLIENT_PACKAGE_NAME@") set(CMAKE_CL_64 @CMAKE_CL_64@) if (CMAKE_CL_64) SET(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES64") SET(BITS 64) else () SET(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES") SET(BITS 32) endif () set(ORIGINAL_SOURCE_DIR "@PROJECT_SOURCE_DIR@") set(PROJECT_SOURCE_DIR "@PROJECT_SOURCE_DIR@") set(LIB_EAY_RELEASE_DLL "@LIB_EAY_RELEASE_DLL@") set(SSL_EAY_RELEASE_DLL "@SSL_EAY_RELEASE_DLL@") set(ICU_DT "@ICU_DT@") set(ICU_DT_DEST "@ICU_DT_DEST@") set(INSTALL_ICU_DT_DEST "@INSTALL_ICU_DT_DEST@") ################################################################################ # Get the final values for cpack: ################################################################################ set(CPACK_PACKAGE_VERSION "${ARANGODB_VERSION}") set(CPACK_PACKAGE_CONTACT ${ARANGODB_PACKAGE_CONTACT}) if (${USE_ENTERPRISE}) set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/enterprise/LICENSE") else () set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE") endif () ################################################################################ # ------------------------------------------------------------------------------ ################################################################################ # so we don't need to ship dll's twice, make it one directory: set(CMAKE_INSTALL_FULL_SBINDIR "${CMAKE_INSTALL_FULL_BINDIR}") set(W_INSTALL_FILES "${PROJECT_SOURCE_DIR}/Installation/Windows/") set(CPACK_MODULE_PATH "${W_INSTALL_FILES}/client/Templates") set(CPACK_PLUGIN_PATH "${W_INSTALL_FILES}/client/Plugins") set(CPACK_NSIS_DISPLAY_NAME, ${ARANGODB_DISPLAY_NAME}) set(CPACK_NSIS_HELP_LINK ${ARANGODB_HELP_LINK}) set(CPACK_NSIS_URL_INFO_ABOUT ${ARANGODB_URL_INFO_ABOUT}) set(CPACK_NSIS_CONTACT ${ARANGODB_CONTACT}) set(CPACK_NSIS_MODIFY_PATH ON) set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL 1) set(BITS 64) if (CMAKE_CL_64) SET(CPACK_NSIS_INSTALL_ROOT "${PROGRAMFILES64}") SET(BITS 64) else () SET(CPACK_NSIS_INSTALL_ROOT "${PROGRAMFILES}") SET(BITS 32) endif () include(${ORIGINAL_SOURCE_DIR}/cmake/VcMacros.cmake) include(${ORIGINAL_SOURCE_DIR}/cmake/GNUInstallDirs.cmake) set(CMAKE_INSTALL_SYSCONFDIR_ARANGO "${CMAKE_INSTALL_SYSCONFDIR}/arangodb3") set(CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO "${CMAKE_INSTALL_FULL_SYSCONFDIR}/arangodb3") set(CMAKE_INSTALL_DATAROOTDIR_ARANGO "${CMAKE_INSTALL_DATAROOTDIR}/arangodb3") set(CMAKE_INSTALL_FULL_DATAROOTDIR_ARANGO "${CMAKE_INSTALL_FULL_DATAROOTDIR}/arangodb3") set(INSTALL_MACROS_NO_TARGET_INSTALL TRUE) include(${ORIGINAL_SOURCE_DIR}/cmake/InstallMacros.cmake) # install the visual studio runtime: set(CMAKE_INSTALL_UCRT_LIBRARIES 1) include(InstallRequiredSystemLibraries) INSTALL(FILES ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Libraries) INSTALL(FILES ${CMAKE_INSTALL_SYSTEM_RUNTIME_COMPONENT} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Libraries) # icon paths set (ICON_PATH "${W_INSTALL_FILES}/Icons/") install(DIRECTORY "${ICON_PATH}" DESTINATION "resources") file(TO_NATIVE_PATH "resources/Icons/arangodb.ico" RELATIVE_ARANGO_ICON) file(TO_NATIVE_PATH "${ICON_PATH}arangodb.bmp" ARANGO_IMG) file(TO_NATIVE_PATH "${ICON_PATH}/arangodb.ico" ARANGO_ICON) STRING(REGEX REPLACE "/" "\\\\\\\\" W_SBIN_DIR "${CMAKE_INSTALL_SBINDIR}") STRING(REGEX REPLACE "/" "\\\\\\\\" W_BIN_DIR "${CMAKE_INSTALL_BINDIR}") STRING(REGEX REPLACE "\\\\" "\\\\\\\\" RELATIVE_ARANGO_ICON "${RELATIVE_ARANGO_ICON}") STRING(REGEX REPLACE "\\\\" "\\\\\\\\" ARANGO_IMG "${ARANGO_IMG}") STRING(REGEX REPLACE "\\\\" "\\\\\\\\" ARANGO_ICON "${ARANGO_ICON}") set(CPACK_PACKAGE_ICON ${ARANGO_ICON}) set(CPACK_NSIS_MUI_ICON ${ARANGO_ICON}) set(CPACK_NSIS_MUI_UNIICON ${ARANGO_ICON}) set(CPACK_NSIS_INSTALLED_ICON_NAME ${RELATIVE_ARANGO_ICON}) message(STATUS "USE_ENTERPRISE: ${USE_ENTERPRISE}") message(STATUS "RELATIVE_ARANGO_ICON: ${RELATIVE_ARANGO_ICON}") message(STATUS "ARANGO_IMG: ${ARANGO_IMG}") message(STATUS "ARANGO_ICON: ${ARANGO_ICON}") message(STATUS "W_SBIN_DIR: ${W_SBIN_DIR} ${CMAKE_INSTALL_SBINDIR} ") message(STATUS "W_BIN_DIR: ${W_BIN_DIR} ${CMAKE_INSTALL_BINDIR} ") # versioning set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${W_INSTALL_FILES}/version") include("${W_INSTALL_FILES}/version/generate_product_version.cmake") set(CPACK_ARANGODB_NSIS_DEFINES " !define BITS ${BITS} !define TRI_FRIENDLY_SVC_NAME '${ARANGODB_FRIENDLY_STRING}' !define TRI_AARDVARK_URL 'http://127.0.0.1:8529/_db/_system/_admin/aardvark/index.html' !define SBIN_DIR '${W_SBIN_DIR}' !define BIN_DIR '${W_BIN_DIR}' ") ################################################################################ # 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) install_readme(README.windows README.windows.txt) install(FILES ${ICU_DT} DESTINATION "${INSTALL_ICU_DT_DEST}" RENAME ${ICU_DT_DEST}) include(CPack)