mirror of https://gitee.com/bigwinds/arangodb
cmake package build
- Re-order directory structure of sub-scripts for packaging - add `packages` target
This commit is contained in:
parent
04a1be577f
commit
48c21407ef
|
@ -91,7 +91,7 @@ set(BIN_ARANGOVPACK arangovpack)
|
|||
# test binaries
|
||||
set(TEST_BASICS_SUITE basics_suite)
|
||||
set(TEST_GEO_SUITE geo_suite)
|
||||
|
||||
set(PACKAGES_LIST)
|
||||
################################################################################
|
||||
## VERSION FILES
|
||||
################################################################################
|
||||
|
@ -618,6 +618,7 @@ if (VERBOSE)
|
|||
message(STATUS)
|
||||
endif ()
|
||||
|
||||
|
||||
################################################################################
|
||||
## 3RD PARTY
|
||||
################################################################################
|
||||
|
@ -733,8 +734,9 @@ add_definitions("-DARANGODB_ZLIB_VERSION=\"${ZLIB_VERSION}\"")
|
|||
## PATHS, installation, packages
|
||||
################################################################################
|
||||
|
||||
include(ArangoDBMacros)
|
||||
include(ArangoDBInstall)
|
||||
|
||||
include(packages/packages)
|
||||
################################################################################
|
||||
## ERRORS FILE
|
||||
################################################################################
|
||||
|
@ -854,10 +856,7 @@ if( EXISTS "${CMAKE_CURRENT_BINARY_DIR}/compile_commands.json" )
|
|||
)
|
||||
endif()
|
||||
|
||||
set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/packages/arangodb-client)
|
||||
configure_file(cmake/packages/package-client.txt ${BUILD_DIR}/CMakeLists.txt @ONLY)
|
||||
add_custom_target(package-arongodb-client COMMAND ${CMAKE_COMMAND} .
|
||||
COMMAND ${CMAKE_CPACK_COMMAND} -G DEB
|
||||
COMMAND cp *.deb ${PROJECT_BINARY_DIR}
|
||||
WORKING_DIRECTORY ${BUILD_DIR})
|
||||
|
||||
add_custom_target(packages
|
||||
DEPENDS ${PACKAGES_LIST}
|
||||
)
|
||||
|
|
|
@ -330,25 +330,30 @@ ${MAKE_CMD_PREFIX} ${MAKE} ${VERBOSE_MAKE} "${PAR}" "${PARALLEL_BUILDS}" ${MAKE_
|
|||
git rev-parse HEAD > ../last_compiled_version.sha
|
||||
|
||||
if [ -n "$CPACK" -a -n "${TARGET_DIR}" ]; then
|
||||
for PACK in ${CPACK}; do
|
||||
# if [ "$PACK" == "DEB" ]; then
|
||||
# make prepare_debian
|
||||
# fi
|
||||
|
||||
cpack -G "$PACK"
|
||||
|
||||
EXT=`echo $PACK|tr '[:upper:]' '[:lower:]'`
|
||||
if [ "$PACK" == "Bundle" ]; then
|
||||
EXT = 'dmg'
|
||||
fi
|
||||
if [ "$PACK" == "NSIS" ]; then
|
||||
true
|
||||
else
|
||||
cp *.${EXT} ${TARGET_DIR}
|
||||
fi
|
||||
done
|
||||
make packages
|
||||
#todo cmake -build -target packages
|
||||
fi
|
||||
|
||||
#if [ -n "$CPACK" -a -n "${TARGET_DIR}" ]; then
|
||||
# for PACK in ${CPACK}; do
|
||||
## if [ "$PACK" == "DEB" ]; then
|
||||
## make prepare_debian
|
||||
## fi
|
||||
#
|
||||
# cpack -G "$PACK"
|
||||
#
|
||||
# EXT=`echo $PACK|tr '[:upper:]' '[:lower:]'`
|
||||
# if [ "$PACK" == "Bundle" ]; then
|
||||
# EXT = 'dmg'
|
||||
# fi
|
||||
# if [ "$PACK" == "NSIS" ]; then
|
||||
# true
|
||||
# else
|
||||
# cp *.${EXT} ${TARGET_DIR}
|
||||
# fi
|
||||
# done
|
||||
#fi
|
||||
|
||||
|
||||
# and install
|
||||
|
||||
if test -n "${TARGET_DIR}"; then
|
||||
|
|
|
@ -22,7 +22,7 @@ FILE(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/var/lib/arangodb3-apps")
|
|||
# logs
|
||||
FILE(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/var/log/arangodb3")
|
||||
|
||||
include(ArangoDBinstallCfg)
|
||||
include(InstallMacros)
|
||||
|
||||
# install ----------------------------------------------------------------------
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/Documentation/man/
|
||||
|
@ -33,44 +33,6 @@ install_readme(README.md README.md)
|
|||
install_readme(LICENSE LICENSE.txt)
|
||||
install_readme(LICENSES-OTHER-COMPONENTS.md LICENSES-OTHER-COMPONENTS.md)
|
||||
|
||||
|
||||
# Build package ----------------------------------------------------------------
|
||||
|
||||
if (NOT(MSVC))
|
||||
set(CPACK_SET_DESTDIR ON)
|
||||
endif()
|
||||
|
||||
set(CPACK_PACKAGE_VENDOR "ArangoDB GmbH")
|
||||
set(CPACK_PACKAGE_CONTACT "info@arangodb.com")
|
||||
set(CPACK_PACKAGE_VERSION "${ARANGODB_VERSION}")
|
||||
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
|
||||
|
||||
set(CPACK_STRIP_FILES "ON")
|
||||
|
||||
set(CPACK_PACKAGE_NAME "arangodb3")
|
||||
|
||||
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_PACKAGE_RELEASE}.${CMAKE_SYSTEM_PROCESSOR}")
|
||||
|
||||
|
||||
if ("${PACKAGING}" STREQUAL "DEB")
|
||||
include(packaging_deb)
|
||||
elseif ("${PACKAGING}" STREQUAL "RPM")
|
||||
include(packaging_rpm)
|
||||
elseif ("${PACKAGING}" STREQUAL "Bundle")
|
||||
include(packaging_bundle)
|
||||
elseif (MSVC)
|
||||
include(packaging_nsis)
|
||||
endif ()
|
||||
|
||||
configure_file(
|
||||
"${CMAKE_SOURCE_DIR}/Installation/cmake/CMakeCPackOptions.cmake.in"
|
||||
"${CMAKE_BINARY_DIR}/CMakeCPackOptions.cmake" @ONLY)
|
||||
set(CPACK_PROJECT_CONFIG_FILE "${CMAKE_BINARY_DIR}/CMakeCPackOptions.cmake")
|
||||
|
||||
# Finally: user cpack
|
||||
include(CPack)
|
||||
|
||||
# Custom targets ----------------------------------------------------------------
|
||||
# love
|
||||
add_custom_target (love
|
||||
|
@ -78,7 +40,6 @@ add_custom_target (love
|
|||
COMMAND ""
|
||||
)
|
||||
|
||||
|
||||
################################################################################
|
||||
### @brief install client-side JavaScript files
|
||||
################################################################################
|
|
@ -18,7 +18,7 @@ set(CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO @CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO@)
|
|||
set(ORIGINAL_SOURCE_DIR @PROJECT_SOURCE_DIR@)
|
||||
set(PROJECT_SOURCE_DIR @PROJECT_SOURCE_DIR@)
|
||||
|
||||
include(${ORIGINAL_SOURCE_DIR}/cmake/ArangoDBinstallCfg.cmake)
|
||||
include(${ORIGINAL_SOURCE_DIR}/cmake/InstallMacros.cmake)
|
||||
|
||||
# Start installing the client components:
|
||||
install(
|
|
@ -22,7 +22,6 @@ else()
|
|||
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "i386")
|
||||
endif()
|
||||
|
||||
|
||||
# components
|
||||
install(
|
||||
FILES ${PROJECT_SOURCE_DIR}/Installation/debian/arangodb.init
|
||||
|
@ -32,5 +31,20 @@ install(
|
|||
COMPONENT debian-extras
|
||||
)
|
||||
|
||||
add_custom_target(package-arongodb-server
|
||||
COMMAND ${CMAKE_COMMAND} .
|
||||
COMMAND ${CMAKE_CPACK_COMMAND} -G DEB
|
||||
WORKING_DIRECTORY ${PROJECT_BINARY_DIR})
|
||||
|
||||
list(APPEND PACKAGES_LIST package-arongodb-server)
|
||||
|
||||
set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/packages/arangodb-client)
|
||||
configure_file(cmake/packages/client/deb.txt ${BUILD_DIR}/CMakeLists.txt @ONLY)
|
||||
add_custom_target(package-arongodb-client
|
||||
COMMAND ${CMAKE_COMMAND} .
|
||||
COMMAND ${CMAKE_CPACK_COMMAND} -G DEB
|
||||
COMMAND cp *.deb ${PROJECT_BINARY_DIR}
|
||||
WORKING_DIRECTORY ${BUILD_DIR})
|
||||
|
||||
|
||||
list(APPEND PACKAGES_LIST package-arongodb-client)
|
Loading…
Reference in New Issue