mirror of https://gitee.com/bigwinds/arangodb
74 lines
3.0 KiB
CMake
74 lines
3.0 KiB
CMake
message("enabling MacOSX 'Bundle' package")
|
|
|
|
if (${USE_ENTERPRISE})
|
|
set(CPACK_PACKAGE_NAME "ArangoDB3e-CLI")
|
|
else()
|
|
set(CPACK_PACKAGE_NAME "ArangoDB3-CLI")
|
|
endif()
|
|
set(CPACK_BUNDLE_NAME "${CPACK_PACKAGE_NAME}")
|
|
|
|
set(CPACK_BUNDLE_ICON "${PROJECT_SOURCE_DIR}/Installation/MacOSX/Bundle/icon.icns")
|
|
|
|
configure_file("${PROJECT_SOURCE_DIR}/Installation/MacOSX/Bundle/Info.plist.in" "${CMAKE_CURRENT_BINARY_DIR}/Info.plist")
|
|
set(CPACK_BUNDLE_PLIST "${CMAKE_CURRENT_BINARY_DIR}/Info.plist")
|
|
|
|
set(CPACK_BUNDLE_PREFIX "Contents/Resources")
|
|
set(CPACK_BUNDLE_APPLE_CERT_APP "Developer ID Application: ArangoDB GmbH (W7UC4UQXPV)")
|
|
set(CPACK_INSTALL_PREFIX "${CPACK_PACKAGE_NAME}.app/${CPACK_BUNDLE_PREFIX}${CMAKE_INSTALL_PREFIX}")
|
|
|
|
set(SYSTEM_STATE_DIR "/${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LOCALSTATEDIR}")
|
|
set(CPACK_ARANGO_PID_DIR "/${SYSTEM_STATE_DIR}/run")
|
|
set(CPACK_INSTALL_SYSCONFDIR "/Library/ArangoDB-${CMAKE_INSTALL_SYSCONFDIR}")
|
|
set(CPACK_INSTALL_FULL_SYSCONFDIR "${CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO}")
|
|
|
|
set(CPACK_ARANGO_STATE_DIR "/Library/ArangoDB/${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LOCALSTATEDIR}")
|
|
set(CPACK_ARANGO_DATA_DIR "${CPACK_ARANGO_STATE_DIR}/lib/arangodb3")
|
|
set(CPACK_ARANGO_LOG_DIR "${CPACK_ARANGO_STATE_DIR}/log/arangodb3")
|
|
set(CPACK_ARANGODB_APPS_DIRECTORY "${CPACK_ARANGO_STATE_DIR}/lib/arangodb3-apps")
|
|
|
|
# The Following lines are needed to create the paths used in the initial script.
|
|
|
|
# Create INC_CPACK_ARANGODB_APPS_DIRECTORY
|
|
to_native_path("CPACK_ARANGODB_APPS_DIRECTORY")
|
|
# Create INC_CMAKE_INSTALL_DATAROOTDIR_ARANGO
|
|
to_native_path("CMAKE_INSTALL_DATAROOTDIR_ARANGO")
|
|
# Create INC_CPACK_INSTALL_SYSCONFDIR
|
|
to_native_path("CPACK_INSTALL_SYSCONFDIR")
|
|
# Create INC_CPACK_ARANGO_PID_DIR
|
|
to_native_path("CPACK_ARANGO_PID_DIR")
|
|
# Create INC_CPACK_ARANGO_DATA_DIR
|
|
to_native_path("CPACK_ARANGO_DATA_DIR")
|
|
# Create INC_CPACK_ARANGO_STATE_DIR
|
|
to_native_path("CPACK_ARANGO_STATE_DIR")
|
|
# Create INC_CPACK_ARANGO_LOG_DIR
|
|
to_native_path("CPACK_ARANGO_LOG_DIR")
|
|
# Create INC_CPACK_INSTALL_FULL_SYSCONFDIR
|
|
to_native_path("CPACK_INSTALL_FULL_SYSCONFDIR")
|
|
|
|
|
|
configure_file("${PROJECT_SOURCE_DIR}/Installation/MacOSX/Bundle/arangodb-cli.sh.in"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/arangodb-cli.sh"
|
|
@ONLY)
|
|
|
|
|
|
set(CPACK_BUNDLE_STARTUP_COMMAND "${CMAKE_CURRENT_BINARY_DIR}/arangodb-cli.sh")
|
|
|
|
add_custom_target(package-arangodb-server-bundle
|
|
COMMAND ${CMAKE_COMMAND} .
|
|
COMMAND ${CMAKE_CPACK_COMMAND} -G Bundle -C ${CMAKE_BUILD_TYPE}
|
|
WORKING_DIRECTORY ${PROJECT_BINARY_DIR})
|
|
|
|
list(APPEND PACKAGES_LIST package-arangodb-server-bundle)
|
|
|
|
add_custom_target(copy_bundle_packages
|
|
COMMAND ${CMAKE_COMMAND} -E copy ${CPACK_PACKAGE_FILE_NAME}.dmg ${PACKAGE_TARGET_DIR})
|
|
|
|
list(APPEND COPY_PACKAGES_LIST copy_bundle_packages)
|
|
|
|
add_custom_target(remove_packages
|
|
COMMAND ${CMAKE_COMMAND} -E remove ${CPACK_PACKAGE_FILE_NAME}.dmg
|
|
COMMAND ${CMAKE_COMMAND} -E remove_directory _CPack_Packages
|
|
)
|
|
|
|
list(APPEND CLEAN_PACKAGES_LIST remove_packages)
|