mirror of https://gitee.com/bigwinds/arangodb
install Windows binaries all in bin
This commit is contained in:
parent
12fcc9a025
commit
4f0d9f5b71
124
CMakeLists.txt
124
CMakeLists.txt
|
@ -4,8 +4,16 @@
|
|||
## --SECTION-- COMMON DEFINES
|
||||
## -----------------------------------------------------------------------------
|
||||
|
||||
################################################################################
|
||||
### @brief required cmake version
|
||||
################################################################################
|
||||
|
||||
cmake_minimum_required(VERSION 2.6)
|
||||
|
||||
################################################################################
|
||||
### @brief cmake build types
|
||||
################################################################################
|
||||
|
||||
if (NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE Release CACHE string "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE)
|
||||
endif ()
|
||||
|
@ -173,11 +181,9 @@ file(TO_NATIVE_PATH "${VARDIR_NATIVE}" VARDIR_NATIVE)
|
|||
FILE(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/var/lib/arangodb")
|
||||
FILE(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/var/lib/arangodb-apps")
|
||||
|
||||
################################################################################
|
||||
### @brief TRI_BINDIR
|
||||
################################################################################
|
||||
|
||||
set(TRI_BINDIR "${CMAKE_INSTALL_PREFIX}/bin")
|
||||
## -----------------------------------------------------------------------------
|
||||
## --SECTION-- DIRECTORIES
|
||||
## -----------------------------------------------------------------------------
|
||||
|
||||
################################################################################
|
||||
### @brief apps directory
|
||||
|
@ -197,18 +203,81 @@ FILE(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/var/log/arangodb")
|
|||
|
||||
set(TRI_PKGDATADIR "${CMAKE_INSTALL_PREFIX}/share/arangodb")
|
||||
|
||||
################################################################################
|
||||
### @brief TRI_BINDIR
|
||||
################################################################################
|
||||
|
||||
if (MSVC)
|
||||
set(TRI_BINDIR_INSTALL "bin")
|
||||
set(TRI_BINDIR "${CMAKE_INSTALL_PREFIX}/bin")
|
||||
else ()
|
||||
set(TRI_BINDIR_INSTALL "bin")
|
||||
set(TRI_BINDIR "${CMAKE_INSTALL_PREFIX}/bin")
|
||||
endif ()
|
||||
|
||||
################################################################################
|
||||
### @brief TRI_SBINDIR
|
||||
################################################################################
|
||||
|
||||
set(TRI_SBINDIR "${CMAKE_INSTALL_PREFIX}/sbin")
|
||||
if (MSVC)
|
||||
set(TRI_SBINDIR_INSTALL "bin")
|
||||
set(TRI_SBINDIR "${CMAKE_INSTALL_PREFIX}/bin")
|
||||
else ()
|
||||
set(TRI_SBINDIR_INSTALL "sbin")
|
||||
set(TRI_SBINDIR "${CMAKE_INSTALL_PREFIX}/sbin")
|
||||
endif ()
|
||||
|
||||
## -----------------------------------------------------------------------------
|
||||
## --SECTION-- COMMON INCLUDES
|
||||
## -----------------------------------------------------------------------------
|
||||
|
||||
################################################################################
|
||||
### @brief project source
|
||||
################################################################################
|
||||
|
||||
include_directories(${PROJECT_SOURCE_DIR})
|
||||
|
||||
## -----------------------------------------------------------------------------
|
||||
## --SECTION-- COMMON MACROS
|
||||
## -----------------------------------------------------------------------------
|
||||
|
||||
################################################################################
|
||||
### @brief generate root config file
|
||||
################################################################################
|
||||
|
||||
macro (generate_root_config name)
|
||||
FILE(READ ${PROJECT_SOURCE_DIR}/etc/arangodb/${name}.conf.in FileContent)
|
||||
|
||||
STRING(REPLACE "@PKGDATADIR@" "@ROOTDIR@/share/arangodb"
|
||||
FileContent "${FileContent}")
|
||||
|
||||
STRING(REPLACE "@LOCALSTATEDIR@" "@ROOTDIR@/var"
|
||||
FileContent "${FileContent}")
|
||||
|
||||
STRING(REGEX REPLACE "[\r\n]file =" "\n# file ="
|
||||
FileContent "${FileContent}")
|
||||
|
||||
FILE(WRITE ${PROJECT_BINARY_DIR}/etc/arangodb/${name}.conf "${FileContent}")
|
||||
endmacro ()
|
||||
|
||||
################################################################################
|
||||
### @brief install a config file
|
||||
################################################################################
|
||||
|
||||
macro (install_config name)
|
||||
if (MSVC)
|
||||
generate_root_config(${name})
|
||||
|
||||
install(
|
||||
FILES ${PROJECT_BINARY_DIR}/etc/arangodb/${name}.conf
|
||||
DESTINATION ${ETCDIR_INSTALL})
|
||||
else ()
|
||||
install(
|
||||
FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/${name}.conf
|
||||
DESTINATION ${ETCDIR_INSTALL})
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
## -----------------------------------------------------------------------------
|
||||
## --SECTION-- EXTERNAL LIBRARIES
|
||||
## -----------------------------------------------------------------------------
|
||||
|
@ -412,20 +481,46 @@ add_definitions("-DTRI_ZLIB_VERSION=\"${ZLIB_VERSION}\"")
|
|||
## --SECTION-- SUB-PROJECTS
|
||||
## -----------------------------------------------------------------------------
|
||||
|
||||
################################################################################
|
||||
### @brief lib
|
||||
################################################################################
|
||||
|
||||
add_subdirectory(lib)
|
||||
|
||||
################################################################################
|
||||
### @brief arangosh
|
||||
################################################################################
|
||||
|
||||
add_subdirectory(arangosh)
|
||||
|
||||
################################################################################
|
||||
### @brief arangod
|
||||
################################################################################
|
||||
|
||||
add_subdirectory(arangod)
|
||||
|
||||
################################################################################
|
||||
### @brief arangoirb
|
||||
################################################################################
|
||||
|
||||
if (USE_MRUBY)
|
||||
add_subdirectory(arangoirb)
|
||||
endif ()
|
||||
|
||||
################################################################################
|
||||
### @brief utils
|
||||
################################################################################
|
||||
|
||||
add_subdirectory(utils)
|
||||
|
||||
## -----------------------------------------------------------------------------
|
||||
## --SECTION-- DOCUMENTATIONS
|
||||
## -----------------------------------------------------------------------------
|
||||
|
||||
################################################################################
|
||||
### @brief install manual
|
||||
################################################################################
|
||||
|
||||
INSTALL(DIRECTORY ${PROJECT_SOURCE_DIR}/Documentation/man/
|
||||
DESTINATION share/man)
|
||||
|
||||
|
@ -450,6 +545,13 @@ else ()
|
|||
set(CPACK_SET_DESTDIR ON)
|
||||
endif ()
|
||||
|
||||
set(CPACK_PACKAGE_VENDOR "triAGENS GmbH")
|
||||
set(CPACK_PACKAGE_CONTACT "info@arangodb.org")
|
||||
set(CPACK_PACKAGE_VERSION "${ARANGODB_VERSION}")
|
||||
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
|
||||
|
||||
set(CPACK_STRIP_FILES "ON")
|
||||
|
||||
if (BUILD_PACKAGE STREQUAL "dmg-cli")
|
||||
set(CPACK_PACKAGE_NAME "ArangoDB-CLI")
|
||||
|
@ -461,16 +563,6 @@ elseif (MSVC)
|
|||
set(CPACK_PACKAGE_NAME "ArangoDB")
|
||||
endif ()
|
||||
|
||||
|
||||
set(CPACK_PACKAGE_VENDOR "triAGENS GmbH")
|
||||
set(CPACK_PACKAGE_CONTACT "info@arangodb.org")
|
||||
set(CPACK_PACKAGE_VERSION "${ARANGODB_VERSION}")
|
||||
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
|
||||
|
||||
|
||||
set(CPACK_STRIP_FILES "ON")
|
||||
|
||||
################################################################################
|
||||
### @brief debian package
|
||||
################################################################################
|
||||
|
|
|
@ -73,17 +73,26 @@ BUILT_SOURCES += etc/arangodb/arangod-uid.conf
|
|||
etc/arangodb/arangod-uid.conf: @srcdir@/etc/arangodb/arangod.conf
|
||||
sed -e 's:^# \([ug]id\):\1:' $< > $@
|
||||
|
||||
|
||||
BUILT_SOURCES += etc/arangodb/arangod-arm.conf
|
||||
|
||||
etc/arangodb/arangod-arm.conf: @srcdir@/etc/arangodb/arangod.conf
|
||||
sed -e '/^\[server\]/,/^\[/s:^threads.*:threads = 1:' $< > $@
|
||||
|
||||
|
||||
BUILT_SOURCES += etc/arangodb/arangod-uid-arm.conf
|
||||
|
||||
etc/arangodb/arangod-uid-arm.conf: @srcdir@/etc/arangodb/arangod.conf
|
||||
sed -e 's:^# \([ug]id\):\1:' $< \
|
||||
| sed -e '/^\[server\]/,/^\[/s:^threads.*:threads = 1:' > $@
|
||||
|
||||
|
||||
BUILT_SOURCES += etc/arangodb/arangod-root.conf
|
||||
|
||||
etc/arangodb/arangod-root.conf: @srcdir@/etc/arangodb/arangod.conf.in
|
||||
sed -e 's:@LOCALSTATEDIR@:@ROOTDIR@/var:' $< \
|
||||
| sed -e 's:@PKGDATADIR@:@ROOTDIR/share/arangodb@:' > $@
|
||||
|
||||
## -----------------------------------------------------------------------------
|
||||
## --SECTION-- PATHS
|
||||
## -----------------------------------------------------------------------------
|
||||
|
|
|
@ -149,7 +149,11 @@ target_link_libraries(
|
|||
|
||||
install(
|
||||
TARGETS ${BIN_ARANGOD}
|
||||
RUNTIME DESTINATION sbin)
|
||||
RUNTIME DESTINATION ${TRI_SBINDIR_INSTALL})
|
||||
|
||||
################################################################################
|
||||
### @brief install arangod config
|
||||
################################################################################
|
||||
|
||||
if (USE_RAW_CONFIG)
|
||||
install(
|
||||
|
@ -168,6 +172,12 @@ if (BUILD_PACKAGE STREQUAL "raspbian")
|
|||
FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/arangod-uid-arm.conf
|
||||
DESTINATION ${ETCDIR_INSTALL}
|
||||
RENAME arangod-uid.conf)
|
||||
elseif (MSVC)
|
||||
generate_root_config(arangod)
|
||||
|
||||
install(
|
||||
FILES ${PROJECT_BINARY_DIR}/etc/arangodb/arangod.conf
|
||||
DESTINATION ${ETCDIR_INSTALL})
|
||||
else ()
|
||||
install(
|
||||
FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/arangod.conf
|
||||
|
@ -178,6 +188,10 @@ else ()
|
|||
DESTINATION ${ETCDIR_INSTALL})
|
||||
endif ()
|
||||
|
||||
################################################################################
|
||||
### @brief install arangod JavaScript files
|
||||
################################################################################
|
||||
|
||||
install(
|
||||
DIRECTORY ${PROJECT_SOURCE_DIR}/js/common ${PROJECT_SOURCE_DIR}/js/server ${PROJECT_SOURCE_DIR}/js/actions
|
||||
DESTINATION share/arangodb/js
|
||||
|
@ -197,19 +211,35 @@ install(
|
|||
DESTINATION share/arangodb/js
|
||||
PATTERN "databases" EXCLUDE)
|
||||
|
||||
################################################################################
|
||||
### @brief install arangod mruby files
|
||||
################################################################################
|
||||
|
||||
install(
|
||||
DIRECTORY ${PROJECT_SOURCE_DIR}/mr/common ${PROJECT_SOURCE_DIR}/mr/server ${PROJECT_SOURCE_DIR}/mr/actions
|
||||
DESTINATION share/arangodb/mr
|
||||
FILES_MATCHING PATTERN "*.rb")
|
||||
|
||||
################################################################################
|
||||
### @brief install log directory
|
||||
################################################################################
|
||||
|
||||
install(
|
||||
DIRECTORY ${PROJECT_BINARY_DIR}/var/log/arangodb
|
||||
DESTINATION ${VARDIR_INSTALL}/log)
|
||||
|
||||
################################################################################
|
||||
### @brief install database directory
|
||||
################################################################################
|
||||
|
||||
install(
|
||||
DIRECTORY ${PROJECT_BINARY_DIR}/var/lib/arangodb
|
||||
DESTINATION ${VARDIR_INSTALL}/lib)
|
||||
|
||||
################################################################################
|
||||
### @brief install apps directory
|
||||
################################################################################
|
||||
|
||||
install(
|
||||
DIRECTORY ${PROJECT_BINARY_DIR}/var/lib/arangodb-apps
|
||||
DESTINATION ${VARDIR_INSTALL}/lib)
|
||||
|
|
|
@ -45,7 +45,7 @@ target_link_libraries(
|
|||
|
||||
install(
|
||||
TARGETS ${BIN_ARANGOIRB}
|
||||
RUNTIME DESTINATION bin)
|
||||
RUNTIME DESTINATION ${TRI_BINDIR_INSTALL})
|
||||
|
||||
if (USE_RAW_CONFIG)
|
||||
install(
|
||||
|
|
|
@ -15,7 +15,11 @@ include_directories(${PROJECT_SOURCE_DIR}/lib)
|
|||
### @brief output directory
|
||||
################################################################################
|
||||
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin/")
|
||||
if (MSVC)
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/")
|
||||
else ()
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin/")
|
||||
endif()
|
||||
|
||||
################################################################################
|
||||
### @brief arangob
|
||||
|
@ -42,7 +46,7 @@ target_link_libraries(
|
|||
|
||||
install(
|
||||
TARGETS ${BIN_ARANGOB}
|
||||
RUNTIME DESTINATION bin)
|
||||
RUNTIME DESTINATION ${TRI_BINDIR_INSTALL})
|
||||
|
||||
if (USE_RAW_CONFIG)
|
||||
install(
|
||||
|
@ -51,9 +55,7 @@ if (USE_RAW_CONFIG)
|
|||
RENAME arangob-relative.conf)
|
||||
endif ()
|
||||
|
||||
install(
|
||||
FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/arangob.conf
|
||||
DESTINATION ${ETCDIR_INSTALL})
|
||||
install_config(arangob)
|
||||
|
||||
install(
|
||||
DIRECTORY ${PROJECT_SOURCE_DIR}/js/common ${PROJECT_SOURCE_DIR}/js/client
|
||||
|
@ -88,7 +90,7 @@ target_link_libraries(
|
|||
|
||||
install(
|
||||
TARGETS ${BIN_ARANGODUMP}
|
||||
RUNTIME DESTINATION bin)
|
||||
RUNTIME DESTINATION ${TRI_BINDIR_INSTALL})
|
||||
|
||||
if (USE_RAW_CONFIG)
|
||||
install(
|
||||
|
@ -97,9 +99,7 @@ if (USE_RAW_CONFIG)
|
|||
RENAME arangodump-relative.conf)
|
||||
endif ()
|
||||
|
||||
install(
|
||||
FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/arangodump.conf
|
||||
DESTINATION ${ETCDIR_INSTALL})
|
||||
install_config(arangodump)
|
||||
|
||||
install(
|
||||
DIRECTORY ${PROJECT_SOURCE_DIR}/js/common ${PROJECT_SOURCE_DIR}/js/client
|
||||
|
@ -136,7 +136,7 @@ target_link_libraries(
|
|||
|
||||
install(
|
||||
TARGETS ${BIN_ARANGOIMP}
|
||||
RUNTIME DESTINATION bin)
|
||||
RUNTIME DESTINATION ${TRI_BINDIR_INSTALL})
|
||||
|
||||
if (USE_RAW_CONFIG)
|
||||
install(
|
||||
|
@ -145,9 +145,7 @@ if (USE_RAW_CONFIG)
|
|||
RENAME arangoimp-relative.conf)
|
||||
endif ()
|
||||
|
||||
install(
|
||||
FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/arangoimp.conf
|
||||
DESTINATION ${ETCDIR_INSTALL})
|
||||
install_config(arangoimp)
|
||||
|
||||
install(
|
||||
DIRECTORY ${PROJECT_SOURCE_DIR}/js/common ${PROJECT_SOURCE_DIR}/js/client
|
||||
|
@ -182,7 +180,7 @@ target_link_libraries(
|
|||
|
||||
install(
|
||||
TARGETS ${BIN_ARANGORESTORE}
|
||||
RUNTIME DESTINATION bin)
|
||||
RUNTIME DESTINATION ${TRI_BINDIR_INSTALL})
|
||||
|
||||
if (USE_RAW_CONFIG)
|
||||
install(
|
||||
|
@ -191,9 +189,7 @@ if (USE_RAW_CONFIG)
|
|||
RENAME arangorestore-relative.conf)
|
||||
endif ()
|
||||
|
||||
install(
|
||||
FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/arangorestore.conf
|
||||
DESTINATION ${ETCDIR_INSTALL})
|
||||
install_config(arangorestore)
|
||||
|
||||
install(
|
||||
DIRECTORY ${PROJECT_SOURCE_DIR}/js/common ${PROJECT_SOURCE_DIR}/js/client
|
||||
|
@ -230,7 +226,7 @@ target_link_libraries(
|
|||
|
||||
install(
|
||||
TARGETS ${BIN_ARANGOSH}
|
||||
RUNTIME DESTINATION bin)
|
||||
RUNTIME DESTINATION ${TRI_BINDIR_INSTALL})
|
||||
|
||||
if (USE_RAW_CONFIG)
|
||||
install(
|
||||
|
@ -239,9 +235,7 @@ if (USE_RAW_CONFIG)
|
|||
RENAME arangosh-relative.conf)
|
||||
endif ()
|
||||
|
||||
install(
|
||||
FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/arangosh.conf
|
||||
DESTINATION ${ETCDIR_INSTALL})
|
||||
install_config(arangosh)
|
||||
|
||||
install(
|
||||
DIRECTORY ${PROJECT_SOURCE_DIR}/js/common ${PROJECT_SOURCE_DIR}/js/client
|
||||
|
|
Loading…
Reference in New Issue