1
0
Fork 0
arangodb/cmake/packages/bundle.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)