1
0
Fork 0

cmake package build

- Re-order directory structure of sub-scripts for packaging
- add `packages` target
This commit is contained in:
Wilfried Goesgens 2016-08-02 13:56:50 +02:00
parent 04a1be577f
commit 48c21407ef
9 changed files with 47 additions and 68 deletions

View File

@ -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}
)

View File

@ -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

View File

@ -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
################################################################################

View File

@ -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(

View File

@ -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)