1
0
Fork 0

Merge branch 'devel' of https://github.com/arangodb/arangodb into readcache

This commit is contained in:
jsteemann 2016-08-18 16:22:00 +02:00
commit d7b2141da0
27 changed files with 1748 additions and 123 deletions

View File

@ -74,6 +74,8 @@ if (USE_PRECOMPILED_V8)
)
else ()
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/V8)
set(ICU_DT "${ICU_DT}" PARENT_SCOPE)
set(ICU_DT_DEST "${ICU_DT_DEST}" PARENT_SCOPE)
endif ()
################################################################################

View File

@ -103,7 +103,86 @@ set(V8_INCLUDE_DIR
)
if (${CMAKE_GENERATOR} MATCHES "Ninja")
################################################################################
## WINDOWS & NINJA
################################################################################
if (WIN32 AND ${CMAKE_GENERATOR} MATCHES "Ninja")
message(STATUS "using generator NINJA on Windows! Still WIP be patient!")
set(GYP_MAIN ${V8_DIR}/build/gyp_v8)
# try to find 2013 in 'Visual Studio 12 2013 Win64'
#if (${CMAKE_GENERATOR} MATCHES "2013")
# list(APPEND V8_GYP_ARGS "-G msvs_version=2013")
#endif()
# try to find 2015 in 'Visual Studio 14 2015 Win64'
#if (${CMAKE_GENERATOR} MATCHES "2015")
# list(APPEND V8_GYP_ARGS "-G msvs_version=2015")
list(APPEND V8_GYP_ARGS --format ninja)
#endif()
if ("${BITS}" STREQUAL "64")
set(MS_TARGET_PLATFORM x64)
else ()
set(MS_TARGET_PLATFORM Win32)
endif ()
list(APPEND V8_GYP_ARGS -Dtarget_arch=${V8_PROC_ARCH} -Dhost_arch=${V8_PROC_ARCH})
list(APPEND V8_GYP_ARGS ${V8_DIR}/build/all.gyp)
if ("${V8_TARGET_ARCHS}" STREQUAL "")
set(V8_TARGET_ARCHS "Debug;Release" CACHE string "V8 targets to build")
endif()
list(APPEND V8_GYP_ARGS
-Dcomponent=static_library
-Dlibrary=static_library
#--depth=2
#-Dv8_use_external_startup_data=1
#-Dicu_gyp_path=../third_party/icu/icu.gyp
#-Dv8_optimized_debug=0
#-Dos_posix=0
#-Dclang=0
#-Dwant_separate_host_toolset=0
)
add_custom_target(v8_build_ninja)
set(NINJA_BUILD_DIR "${V8_TARGET_DIR}/${NINJA_TARGET}")
ExternalProject_Add(v8_build_ninja
SOURCE_DIR
"${V8_DIR}"
CONFIGURE_COMMAND
${PYTHON_EXECUTABLE} ${GYP_MAIN} ${V8_GYP_ARGS}
BINARY_DIR
${NINJA_BUILD_DIR}
BUILD_COMMAND
${CMAKE_BUILD_TOOL} v8
STEP_TARGETS
v8_base v8_libbase v8_libplatform v8_nosnapshot icui18n icuuc icudata
INSTALL_COMMAND
"")
list(APPEND LINK_DIRECTORIES "${NINJA_BUILD_DIR}/obj/tools/gyp")
set(V8_LIBS
"v8_base;v8_libbase;v8_libplatform;v8_nosnapshot"
CACHE INTERNAL
"${PROJECT_NAME}: Libraries"
)
list(APPEND LINK_DIRECTORIES "${NINJA_BUILD_DIR}/obj/third_party/icu")
set(ICU_LIBS
"icui18n;icuuc;icudata"
CACHE INTERNAL
"ICU: Libraries"
)
set(LINK_DIRECTORIES "${LINK_DIRECTORIES}" PARENT_SCOPE)
elseif (${CMAKE_GENERATOR} MATCHES "Ninja")
message(STATUS "using generator NINJA!")
option(USE_DEBUG_V8 "compile V8 in DEBUG mode" OFF)
@ -186,10 +265,11 @@ if (${CMAKE_GENERATOR} MATCHES "Ninja")
set(LINK_DIRECTORIES "${LINK_DIRECTORIES}" PARENT_SCOPE)
################################################################################
## WINDOWS
## WINDOWS with msbuild
################################################################################
elseif (WIN32)
MESSAGE("Building V8 for Windows with MSBUILD")
set(GYP_MAIN ${V8_DIR}/build/gyp_v8)
# try to find 2013 in 'Visual Studio 12 2013 Win64'
@ -478,8 +558,8 @@ else ()
endif()
if (WIN32)
set(ICU_DT "${ICU_BASEDIR}/data/in/icudtl.dat")
set(ICU_DT_DEST "icudt${ICU_COMPACT_VERSION}l.dat")
set(ICU_DT "${ICU_BASEDIR}/data/in/icudtl.dat" PARENT_SCOPE)
set(ICU_DT_DEST "icudt${ICU_COMPACT_VERSION}l.dat" PARENT_SCOPE)
# other platforms link the file into the binary
install(FILES ${ICU_DT}
DESTINATION "share/arangodb/"

View File

@ -52,6 +52,15 @@ v3.0.5 (XXXX-XX-XX)
* fix SSL agency endpoint
* Minimum RAFT timeout was one order of magnitude to short.
* Optimized RAFT RPCs from leader to followers for efficiency.
* Optimized RAFT RPC handling on followers with respect to compaction.
* Fixed bug in handling of duplicates and overlapping logs
* Fixed bug in supervision take over after leadership change.
v3.0.4 (2016-08-01)
-------------------

View File

@ -37,29 +37,29 @@
<li>
<a href="#" data-book="cookbook">Cookbook</a>
</li>
<li class="downloadIcon">
<a href="https://www.arangodb.com/download-arangodb-docs" target="_blank" name="download">
<i title="Download" class="fa fa-download"></i>
<li class="downloadIcon" title="Download">
<a href="https://www.arangodb.com/download-arangodb-docs" target="_blank">
<i class="fa fa-download"></i>
</a>
</li>
<li class="socialIcons">
<a href="https://github.com/ArangoDB/ArangoDB/issues" target="_blank" name="github">
<i title="GitHub" class="fa fa-github"></i>
<li class="socialIcons" title="GitHub">
<a href="https://github.com/ArangoDB/ArangoDB/issues" target="_blank">
<i class="fa fa-github"></i>
</a>
</li>
<li class="socialIcons">
<a href="http://stackoverflow.com/questions/tagged/arangodb" target="_blank" name="stackoverflow">
<i title="StackOverflow" class="fa fa-stack-overflow"></i>
<li class="socialIcons" title="StackOverflow">
<a href="http://stackoverflow.com/questions/tagged/arangodb" target="_blank">
<i class="fa fa-stack-overflow"></i>
</a>
</li>
<li class="socialIcons socialIcons-googlegroups">
<a href="https://groups.google.com/forum/#!forum/arangodb" target="_blank" name="google groups">
<img title="Google Groups" alt="Google Groups" src="https://docs.arangodb.com/assets/googlegroupsIcon.png" />
<li class="socialIcons socialIcons-googlegroups" title="Google Groups">
<a href="https://groups.google.com/forum/#!forum/arangodb" target="_blank">
<img alt="Google Groups" src="https://docs.arangodb.com/assets/googlegroupsIcon.png" />
</a>
</li>
<li class="socialIcons">
<a href="https://slack.arangodb.com" target="_blank" name="slack">
<i title="Slack" class="fa fa-slack"></i>
<li class="socialIcons" title="Slack">
<a href="https://slack.arangodb.com" target="_blank">
<i class="fa fa-slack"></i>
</a>
</li>
</ul>

View File

@ -37,29 +37,29 @@
<li>
<a href="#" data-book="cookbook">Cookbook</a>
</li>
<li class="downloadIcon">
<a href="https://www.arangodb.com/download-arangodb-docs" target="_blank" name="download">
<i title="Download" class="fa fa-download"></i>
<li class="downloadIcon" title="Download">
<a href="https://www.arangodb.com/download-arangodb-docs" target="_blank">
<i class="fa fa-download"></i>
</a>
</li>
<li class="socialIcons">
<a href="https://github.com/ArangoDB/ArangoDB/issues" target="_blank" name="github">
<i title="GitHub" class="fa fa-github"></i>
<li class="socialIcons" title="GitHub">
<a href="https://github.com/ArangoDB/ArangoDB/issues" target="_blank">
<i class="fa fa-github"></i>
</a>
</li>
<li class="socialIcons">
<a href="http://stackoverflow.com/questions/tagged/arangodb" target="_blank" name="stackoverflow">
<i title="StackOverflow" class="fa fa-stack-overflow"></i>
<li class="socialIcons" title="StackOverflow">
<a href="http://stackoverflow.com/questions/tagged/arangodb" target="_blank">
<i class="fa fa-stack-overflow"></i>
</a>
</li>
<li class="socialIcons socialIcons-googlegroups">
<a href="https://groups.google.com/forum/#!forum/arangodb" target="_blank" name="google groups">
<img title="Google Groups" alt="Google Groups" src="https://docs.arangodb.com/assets/googlegroupsIcon.png" />
<li class="socialIcons socialIcons-googlegroups" title="Google Groups">
<a href="https://groups.google.com/forum/#!forum/arangodb" target="_blank">
<img alt="Google Groups" src="https://docs.arangodb.com/assets/googlegroupsIcon.png" />
</a>
</li>
<li class="socialIcons">
<a href="https://slack.arangodb.com" target="_blank" name="slack">
<i title="Slack" class="fa fa-slack"></i>
<li class="socialIcons" title="Slack">
<a href="https://slack.arangodb.com" target="_blank">
<i class="fa fa-slack"></i>
</a>
</li>
</ul>

View File

@ -37,29 +37,29 @@
<li>
<a href="#" data-book="cookbook">Cookbook</a>
</li>
<li class="downloadIcon">
<a href="https://www.arangodb.com/download-arangodb-docs" target="_blank" name="download">
<i title="Download" class="fa fa-download"></i>
<li class="downloadIcon" title="Download">
<a href="https://www.arangodb.com/download-arangodb-docs" target="_blank">
<i class="fa fa-download"></i>
</a>
</li>
<li class="socialIcons">
<a href="https://github.com/ArangoDB/ArangoDB/issues" target="_blank" name="github">
<i title="GitHub" class="fa fa-github"></i>
<li class="socialIcons" title="GitHub">
<a href="https://github.com/ArangoDB/ArangoDB/issues" target="_blank">
<i class="fa fa-github"></i>
</a>
</li>
<li class="socialIcons">
<a href="http://stackoverflow.com/questions/tagged/arangodb" target="_blank" name="stackoverflow">
<i title="StackOverflow" class="fa fa-stack-overflow"></i>
<li class="socialIcons" title="StackOverflow">
<a href="http://stackoverflow.com/questions/tagged/arangodb" target="_blank">
<i class="fa fa-stack-overflow"></i>
</a>
</li>
<li class="socialIcons socialIcons-googlegroups">
<a href="https://groups.google.com/forum/#!forum/arangodb" target="_blank" name="google groups">
<img title="Google Groups" alt="Google Groups" src="https://docs.arangodb.com/assets/googlegroupsIcon.png" />
<li class="socialIcons socialIcons-googlegroups" title="Google Groups">
<a href="https://groups.google.com/forum/#!forum/arangodb" target="_blank">
<img alt="Google Groups" src="https://docs.arangodb.com/assets/googlegroupsIcon.png" />
</a>
</li>
<li class="socialIcons">
<a href="https://slack.arangodb.com" target="_blank" name="slack">
<i title="Slack" class="fa fa-slack"></i>
<li class="socialIcons" title="Slack">
<a href="https://slack.arangodb.com" target="_blank">
<i class="fa fa-slack"></i>
</a>
</li>
</ul>

View File

@ -1,9 +1,9 @@
!CHAPTER Fulltext indexes
!SUBSECTION Introduction to Fulltext Indexes
This is an introduction to ArangoDB's fulltext indexes.
!SUBSECTION Introduction to Fulltext Indexes
A fulltext index can be used to find words, or prefixes of words inside documents.
A fulltext index can be defined on one attribute only, and will include all words contained in
@ -46,6 +46,7 @@ Other data types are ignored and not indexed.
<!-- js/server/modules/@arangodb/arango-collection.js -->
Ensures that a fulltext index exists:
`collection.ensureIndex({ type: "fulltext", fields: [ "field" ], minLength: minLength })`
Creates a fulltext index on all documents on attribute *field*.
@ -84,6 +85,7 @@ details is returned.
Looks up a fulltext index:
`collection.lookupFulltextIndex(attribute, minLength)`
Checks whether a fulltext index on the given attribute *attribute* exists.

View File

@ -36,6 +36,49 @@ case `uname -m` in
;;
esac
compute_relative()
{
# http://stackoverflow.com/questions/2564634/convert-absolute-path-into-relative-path-given-a-current-directory-using-bash
# both $1 and $2 are absolute paths beginning with /
# returns relative path to $2/$target from $1/$source
source=$1
target=$2
common_part=$source # for now
result="" # for now
while [[ "${target#$common_part}" == "${target}" ]]; do
# no match, means that candidate common part is not correct
# go up one level (reduce common part)
common_part="$(dirname $common_part)"
# and record that we went back, with correct / handling
if [[ -z $result ]]; then
result=".."
else
result="../$result"
fi
done
if [[ $common_part == "/" ]]; then
# special case for root (no common path)
result="$result/"
fi
# since we now have identified the common part,
# compute the non-common part
forward_part="${target#$common_part}"
# and now stick all parts together
if [[ -n $result ]] && [[ -n $forward_part ]]; then
result="$result$forward_part"
elif [[ -n $forward_part ]]; then
# extra slash removal
result="${forward_part:1}"
fi
echo $result
}
# check if there are any relevant changes to the source code
LASTREV=""
@ -79,7 +122,8 @@ MAKE=make
PACKAGE_MAKE=make
MAKE_PARAMS=""
MAKE_CMD_PREFIX=""
CONFIGURE_OPTIONS="-DCMAKE_INSTALL_PREFIX=/ -DCMAKE_INSTALL_LOCALSTATEDIR=/var$CMAKE_OPENSSL"
CONFIGURE_OPTIONS="-DCMAKE_INSTALL_PREFIX=/ $CMAKE_OPENSSL"
# -DCMAKE_INSTALL_LOCALSTATEDIR=/var"
MAINTAINER_MODE="-DUSE_MAINTAINER_MODE=off"
TARGET_DIR=""
@ -164,7 +208,7 @@ while [ $# -gt 0 ]; do
shift
;;
--msvc)
--msvc)
shift
MSVC=1
CC=""
@ -193,7 +237,7 @@ while [ $# -gt 0 ]; do
shift
;;
--builddir)
--buildDir)
shift
BUILD_DIR=$1
shift
@ -233,6 +277,12 @@ while [ $# -gt 0 ]; do
V8_LDFLAGS="${V8_LDFLAGS} -static-libgcc -static-libstdc++"
shift
;;
--parallel)
shift
PARALLEL_BUILDS=$1
shift
;;
--targetDir)
shift
@ -333,16 +383,21 @@ if test ${CLEAN_IT} -eq 1; then
git clean -f -d -x
fi
SRC=`pwd`
test -d ${BUILD_DIR} || mkdir ${BUILD_DIR}
cd ${BUILD_DIR}
DST=`pwd`
SOURCE_DIR=`compute_relative ${DST}/ ${SRC}/`
if [ ! -f Makefile -o ! -f CMakeCache.txt ]; then
CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS}" LIBS="${LIBS}" \
cmake .. ${CONFIGURE_OPTIONS} -G "${GENERATOR}"
cmake ${SOURCE_DIR} ${CONFIGURE_OPTIONS} -G "${GENERATOR}"
fi
${MAKE_CMD_PREFIX} ${MAKE} ${MAKE_PARAMS}
git rev-parse HEAD > ../last_compiled_version.sha
(cd ${SOURCE_DIR}; git rev-parse HEAD > last_compiled_version.sha)
if [ -n "$CPACK" -a -n "${TARGET_DIR}" ]; then
${PACKAGE_MAKE} packages
@ -380,7 +435,7 @@ if test -n "${TARGET_DIR}"; then
mkdir -p ${dir}
trap "rm -rf ${TARFILE_TMP}" EXIT
(cd ..
(cd ${SOURCE_DIR}
touch 3rdParty/.keepme
touch arangod/.keepme
@ -403,7 +458,7 @@ if test -n "${TARGET_DIR}"; then
tar -u -f ${TARFILE_TMP} \
--files-from files.$$
(cd ..
(cd ${SOURCE_DIR}
find . \
\( -name *.cpp -o -name *.h -o -name *.c -o -name *.hpp -o -name *.ll -o -name *.y \) > files.$$

View File

@ -0,0 +1,45 @@
[Settings]
NumFields=4
[Field 1]
Type=label
Text=By default @CPACK_PACKAGE_INSTALL_DIRECTORY@ does not add its directory to the system PATH.
Left=0
Right=-1
Top=0
Bottom=20
[Field 2]
Type=radiobutton
Text=for all users
Left=5
Right=-1
Top=40
Bottom=50
State=0
[Field 3]
Type=radiobutton
Text=for the current user
Left=5
Right=-1
Top=50
Bottom=60
State=0
[Field 4]
Type=CheckBox
Text=Create @CPACK_PACKAGE_NAME@ Desktop Icon
Left=160
Right=-1
Top=120
Bottom=130
State=1
[Field 4]
Type=label
Text=Install @CPACK_PACKAGE_NAME@
Left=0
Right=-1
Top=20
Bottom=29

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,59 @@
; arango-packer-template.nsi
;
; this script copies the installation program
; for arango and the corresponding window runtime
; libraries which the arango installation program needs
;
; The installation program and the runtimes are
; copied to the TEMP directory and then the arango
; installer is started
;--------------------------------
; !include "Library.nsh"
; The name of the installer
Name "@INSTALLERNAME@"
; The file to write
OutFile "@INSTALLERNAME@.exe"
; The default installation directory
!define APPNAME "Unpacker"
!define COMPANYNAME "ArangoDB"
InstallDir $TEMP\${COMPANYNAME}\${APPNAME}
; Request application privileges for Windows Vista
RequestExecutionLevel user
;--------------------------------
; Pages
Page instfiles
;--------------------------------
; The stuff to install
Section "" ;No components page, name is not important
; Set output path to the installation directory.
SetOutPath $INSTDIR
; examinates if installation program exists and it is running
IfFileExists "$INSTDIR\@INSTALLERNAME@-internal.exe" 0 install_files
Fileopen $0 "$INSTDIR\@INSTALLERNAME@-internal.exe" "w"
IfErrors 0 install_files
MessageBox MB_OK "@INSTALLERNAME@ is already runing"
Quit
; files are copied
install_files:
FileClose $0
; Put file there
; Set output path to the installation directory.
SetOutPath $INSTDIR
; Put file there
Quit
SectionEnd ; end the section

View File

@ -375,6 +375,7 @@ void Supervision::handleShutdown() {
}
LOG_TOPIC(DEBUG, Logger::AGENCY)
<< "Waiting for " << server.first << " to shutdown";
serversCleared = false;
}
if (serversCleared) {

View File

@ -355,7 +355,7 @@ target_link_libraries(${BIN_ARANGOD}
install(
TARGETS ${BIN_ARANGOD}
RUNTIME DESTINATION ${CMAKE_INSTALL_FULL_SBINDIR})
RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR})
install_config(arangod)
@ -370,7 +370,7 @@ endif ()
################################################################################
install_command_alias(${BIN_ARANGOD}
${CMAKE_INSTALL_FULL_SBINDIR}
${CMAKE_INSTALL_SBINDIR}
arango-dfdb)
install_config(arango-dfdb)
@ -380,7 +380,7 @@ install_config(arango-dfdb)
################################################################################
install_command_alias(${BIN_ARANGOD}
${CMAKE_INSTALL_FULL_SBINDIR}
${CMAKE_INSTALL_SBINDIR}
arango-secure-installation)
install_config(arango-secure-installation)
@ -390,7 +390,7 @@ install_config(arango-secure-installation)
################################################################################
install_command_alias(${BIN_ARANGOD}
${CMAKE_INSTALL_FULL_SBINDIR}
${CMAKE_INSTALL_SBINDIR}
arango-init-database)
install_config(arango-init-database)

View File

@ -30,7 +30,6 @@
#include "Cluster/ClusterInfo.h"
#include "Cluster/ServerState.h"
#include "Dispatcher/DispatcherThread.h"
//#include "Rest/FakeRequest.h"
#include "SimpleHttpClient/ConnectionManager.h"
#include "SimpleHttpClient/SimpleHttpClient.h"
#include "Utils/Transaction.h"
@ -1344,8 +1343,17 @@ size_t ClusterComm::performSingleRequest(
req.requestType, req.path, *(req.body),
*(req.headerFields), timeout);
}
std::unordered_map<std::string, std::string> headers;
// mop: helpless attempt to fix segfaulting due to body buffer empty
if (req.result.status == CL_COMM_BACKEND_UNAVAILABLE) {
THROW_ARANGO_EXCEPTION(TRI_ERROR_CLUSTER_BACKEND_UNAVAILABLE);
}
// Add correct recognition of content type later.
req.result.status = CL_COMM_RECEIVED; // a fake, but a good one
req.done = true;
headers = req.result.result->getHeaderFields();
nrDone = 1;
// This was it, except for a small problem: syncRequest reports back in
// req.result.result of type httpclient::SimpleHttpResult rather than
@ -1353,9 +1361,8 @@ size_t ClusterComm::performSingleRequest(
// Additionally, GeneralRequest is a virtual base class, so we actually
// have to create an HttpRequest instance:
GeneralRequest::ContentType type = GeneralRequest::ContentType::JSON;
// Add correct recognition of content type later.
basics::StringBuffer& buffer = req.result.result->getBody();
// auto answer = new FakeRequest(type, buffer.c_str(),
// static_cast<int64_t>(buffer.length()));
// answer->setHeaders(req.result.result->getHeaderFields());
@ -1363,7 +1370,7 @@ size_t ClusterComm::performSingleRequest(
auto answer = HttpRequest::createFakeRequest(
type, buffer.c_str(), static_cast<int64_t>(buffer.length()),
req.result.result->getHeaderFields());
req.result.answer.reset(static_cast<GeneralRequest*>(answer));
req.result.answer_code = static_cast<GeneralResponse::ResponseCode>(
req.result.result->getHttpReturnCode());

View File

@ -3,36 +3,36 @@
# we can't use RUNTIME DESTINATION here.
install(
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${BIN_ARANGOBENCH}
DESTINATION ${CMAKE_INSTALL_FULL_BINDIR})
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/${BIN_ARANGOBENCH}${CMAKE_EXECUTABLE_SUFFIX}
DESTINATION ${CMAKE_INSTALL_BINDIR})
install_config(arangobench)
install(
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${BIN_ARANGODUMP}
DESTINATION ${CMAKE_INSTALL_FULL_BINDIR})
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/${BIN_ARANGODUMP}${CMAKE_EXECUTABLE_SUFFIX}
DESTINATION ${CMAKE_INSTALL_BINDIR})
install_config(arangodump)
install(
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${BIN_ARANGOIMP}
DESTINATION ${CMAKE_INSTALL_FULL_BINDIR})
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/${BIN_ARANGOIMP}${CMAKE_EXECUTABLE_SUFFIX}
DESTINATION ${CMAKE_INSTALL_BINDIR})
install_config(arangoimp)
install(
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${BIN_ARANGORESTORE}
DESTINATION ${CMAKE_INSTALL_FULL_BINDIR})
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/${BIN_ARANGORESTORE}${CMAKE_EXECUTABLE_SUFFIX}
DESTINATION ${CMAKE_INSTALL_BINDIR})
install_config(arangorestore)
install(
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${BIN_ARANGOSH}
DESTINATION ${CMAKE_INSTALL_FULL_BINDIR})
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/${BIN_ARANGOSH}${CMAKE_EXECUTABLE_SUFFIX}
DESTINATION ${CMAKE_INSTALL_BINDIR})
install_config(arangosh)
install(
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${BIN_ARANGOVPACK}
DESTINATION ${CMAKE_INSTALL_FULL_BINDIR})
FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/${BIN_ARANGOVPACK}${CMAKE_EXECUTABLE_SUFFIX}
DESTINATION ${CMAKE_INSTALL_BINDIR})
install_command_alias(${BIN_ARANGOSH}
${CMAKE_INSTALL_FULL_BINDIR}
${CMAKE_INSTALL_BINDIR}
foxx-manager)
install_config(foxx-manager)

View File

@ -1,15 +1,20 @@
include(GNUInstallDirs)
set(ARANGODB_SOURCE_DIR ${CMAKE_SOURCE_DIR})
set(CMAKE_INSTALL_SYSCONFDIR_ARANGO "${CMAKE_INSTALL_SYSCONFDIR}/arangodb3")
set(CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO "${CMAKE_INSTALL_FULL_SYSCONFDIR}/arangodb3")
set(CMAKE_INSTALL_DATAROOTDIR_ARANGO "${CMAKE_INSTALL_DATAROOTDIR}/arangodb3")
set(CMAKE_INSTALL_FULL_DATAROOTDIR_ARANGO "${CMAKE_INSTALL_FULL_DATAROOTDIR}/arangodb3")
if (MSVC OR DARWIN)
set(ENABLE_UID_CFG false)
else ()
set(ENABLE_UID_CFG true)
endif ()
set(CMAKE_INSTALL_SYSCONFDIR_ARANGO "${CMAKE_INSTALL_SYSCONFDIR}/arangodb3" CACHE PATH "read-only single-machine data (etc)")
set(CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO "${CMAKE_INSTALL_FULL_SYSCONFDIR}/arangodb3" CACHE PATH "read-only single-machine data (etc)")
set(CMAKE_INSTALL_SYSCONFDIR_ARANGO "${CMAKE_INSTALL_SYSCONFDIR}/arangodb3")
set(CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO "${CMAKE_INSTALL_FULL_SYSCONFDIR}/arangodb3")
file(TO_NATIVE_PATH "${CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO}" ETCDIR_NATIVE)
STRING(REGEX REPLACE "\\\\" "\\\\\\\\" ETCDIR_ESCAPED "${ETCDIR_NATIVE}")
@ -49,7 +54,7 @@ include(InstallArangoDBJSClient)
################################################################################
install(
DIRECTORY ${PROJECT_SOURCE_DIR}/js/actions ${PROJECT_SOURCE_DIR}/js/apps ${PROJECT_SOURCE_DIR}/js/contrib ${PROJECT_SOURCE_DIR}/js/node ${PROJECT_SOURCE_DIR}/js/server
DIRECTORY ${PROJECT_SOURCE_DIR}/js/actions ${PROJECT_SOURCE_DIR}/js/apps ${PROJECT_SOURCE_DIR}/js/contrib ${PROJECT_SOURCE_DIR}/js/server
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR_ARANGO}/js
REGEX "^.*/server/tests$" EXCLUDE
REGEX "^.*/aardvark/APP/node_modules$" EXCLUDE
@ -61,7 +66,7 @@ install(
install(
DIRECTORY ${PROJECT_BINARY_DIR}/var/log/arangodb3
DESTINATION ${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/log)
DESTINATION ${CMAKE_INSTALL_LOCALSTATEDIR}/log)
################################################################################
### @brief install database directory
@ -69,7 +74,7 @@ install(
install(
DIRECTORY ${PROJECT_BINARY_DIR}/var/lib/arangodb3
DESTINATION ${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/lib)
DESTINATION ${CMAKE_INSTALL_LOCALSTATEDIR}/lib)
################################################################################
### @brief install apps directory
@ -77,7 +82,7 @@ install(
install(
DIRECTORY ${PROJECT_BINARY_DIR}/var/lib/arangodb3-apps
DESTINATION ${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/lib)
DESTINATION ${CMAKE_INSTALL_LOCALSTATEDIR}/lib)
# sub directories --------------------------------------------------------------

View File

@ -9,3 +9,9 @@ install(
REGEX "^.*/common/test-data$" EXCLUDE
REGEX "^.*/common/tests$" EXCLUDE
REGEX "^.*/client/tests$" EXCLUDE)
# For the node modules we need all files:
install(
DIRECTORY ${ARANGODB_SOURCE_DIR}/js/node
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR_ARANGO}/js
)

View File

@ -1,10 +1,12 @@
################################################################################
## INSTALL
################################################################################
set(CMAKE_INSTALL_SYSCONFDIR_ARANGO "${CMAKE_INSTALL_SYSCONFDIR}/arangodb3" CACHE PATH "read-only single-machine data (etc)")
set(CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO "${CMAKE_INSTALL_FULL_SYSCONFDIR}/arangodb3" CACHE PATH "read-only single-machine data (etc)")
set(CMAKE_INSTALL_FULL_DATAROOTDIR_ARANGO "${CMAKE_INSTALL_DATAROOTDIR}/arangodb3" CACHE PATH "read-only data (share)")
set(CMAKE_INSTALL_DATAROOTDIR_ARANGO "${CMAKE_INSTALL_FULL_DATAROOTDIR}/arangodb3" CACHE PATH "read-only data (share)")
if (NOT CMAKE_INSTALL_SYSCONFDIR_ARANGO
OR NOT CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO
OR NOT CMAKE_INSTALL_DATAROOTDIR_ARANGO
OR NOT CMAKE_INSTALL_FULL_DATAROOTDIR_ARANGO)
message(FATAL_ERROR, "CMAKE_INSTALL_DATAROOTDIR or CMAKE_INSTALL_SYSCONFDIR not set!")
endif()
# Global macros ----------------------------------------------------------------
macro (generate_root_config name)
@ -89,24 +91,48 @@ macro (install_readme input output)
endmacro ()
# installs a link to an executable ---------------------------------------------
macro (install_command_alias name where alias)
if (MSVC)
add_custom_command(
TARGET ${name}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:${name}>
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$<CONFIGURATION>/${alias}.exe)
install(
PROGRAMS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$<CONFIGURATION>/${alias}.exe
DESTINATION ${where})
else ()
add_custom_command(
TARGET ${name}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E create_symlink ${name}
if (INSTALL_MACROS_NO_TARGET_INSTALL)
macro (install_command_alias name where alias)
if (MSVC)
add_custom_command(
OUTPUT ${name}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:${name}>
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$<CONFIGURATION>/${alias}${CMAKE_EXECUTABLE_SUFFIX})
install(
PROGRAMS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$<CONFIGURATION>/${alias}${CMAKE_EXECUTABLE_SUFFIX}
DESTINATION ${where})
else ()
add_custom_command(
OUTPUT ${name}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E create_symlink ${name}
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${alias})
install(
PROGRAMS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${alias}
DESTINATION ${where})
endif ()
endmacro ()
install(
PROGRAMS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${alias}
DESTINATION ${where})
endif ()
endmacro ()
else ()
macro (install_command_alias name where alias)
if (MSVC)
add_custom_command(
TARGET ${name}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:${name}>
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$<CONFIGURATION>/${alias}${CMAKE_EXECUTABLE_SUFFIX})
install(
PROGRAMS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$<CONFIGURATION>/${alias}${CMAKE_EXECUTABLE_SUFFIX}
DESTINATION ${where})
else ()
add_custom_command(
TARGET ${name}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E create_symlink ${name}
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${alias})
install(
PROGRAMS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${alias}
DESTINATION ${where})
endif ()
endmacro ()
endif()

View File

@ -8,6 +8,8 @@ cmake_minimum_required(VERSION 2.8)
# variables from the main build have to be explicitely forwarded:
################################################################################
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "@PROJECT_BINARY_DIR@/bin/")
set(CMAKE_INSTALL_BINDIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_X ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
################################################################################
# Substitute the install binaries:
@ -71,6 +73,14 @@ set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${AR
################################################################################
# Install the external files into the package directory:
################################################################################
include(GNUInstallDirs)
set(CMAKE_INSTALL_SYSCONFDIR_ARANGO "${CMAKE_INSTALL_SYSCONFDIR}/arangodb3" CACHE PATH "read-only single-machine data (etc)")
set(CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO "${CMAKE_INSTALL_FULL_SYSCONFDIR}/arangodb3" CACHE PATH "read-only single-machine data (etc)")
set(CMAKE_INSTALL_DATAROOTDIR_ARANGO "${CMAKE_INSTALL_DATAROOTDIR}/arangodb3" CACHE PATH "read-only data (share)")
set(CMAKE_INSTALL_FULL_DATAROOTDIR_ARANGO "${CMAKE_INSTALL_FULL_DATAROOTDIR}/arangodb3" CACHE PATH "read-only data (share)")
set(INSTALL_MACROS_NO_TARGET_INSTALL TRUE)
include(${ORIGINAL_SOURCE_DIR}/cmake/InstallMacros.cmake)
include(${ORIGINAL_SOURCE_DIR}/cmake/InstallArangoDBJSClient.cmake)
include(${ORIGINAL_SOURCE_DIR}/arangosh/install.cmake)

View File

@ -0,0 +1,172 @@
################################################################################
# the client package is a complete cmake sub package.
################################################################################
project(arangodb3-client)
cmake_minimum_required(VERSION 2.8)
################################################################################
# variables from the main build have to be explicitely forwarded:
################################################################################
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY @CMAKE_BINARY_DIR@/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_X @CMAKE_BINARY_DIR@/bin/$<CONFIGURATION>/)
set(CMAKE_BUILD_TYPE @CMAKE_BUILD_TYPE@)
################################################################################
# Substitute the install binaries:
################################################################################
set(BIN_ARANGOBENCH @BIN_ARANGOBENCH@)
set(BIN_ARANGODUMP @BIN_ARANGODUMP@)
set(BIN_ARANGOIMP @BIN_ARANGOIMP@)
set(BIN_ARANGORESTORE @BIN_ARANGORESTORE@)
set(BIN_ARANGOSH @BIN_ARANGOSH@)
set(BIN_ARANGOVPACK @BIN_ARANGOVPACK@)
################################################################################
# build specific variables:
################################################################################
set(ARANGODB_URL_INFO_ABOUT @ARANGODB_URL_INFO_ABOUT@)
set(ARANGODB_SOURCE_DIR @ARANGODB_SOURCE_DIR@)
set(ARANGODB_VERSION @ARANGODB_VERSION@)
set(ARANGODB_PACKAGE_ARCHITECTURE @ARANGODB_PACKAGE_ARCHITECTURE@)
set(ARANGODB_PACKAGE_CONTACT @ARANGODB_PACKAGE_CONTACT@)
set(ARANGODB_PACKAGE_REVISION @ARANGODB_PACKAGE_REVISION@)
set(CMAKE_INSTALL_FULL_BINDIR @CMAKE_INSTALL_FULL_BINDIR@)
set(CMAKE_TARGET_ARCHITECTURES @CMAKE_TARGET_ARCHITECTURES@)
set(CMAKE_INSTALL_SYSCONFDIR_ARANGO @CMAKE_INSTALL_SYSCONFDIR_ARANGO@)
set(CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO @CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO@)
set(CMAKE_CL_64 @CMAKE_CL_64@)
if (CMAKE_CL_64)
SET(CPACK_NSIS_INSTALL_ROOT "${PROGRAMFILES64}")
SET(BITS 64)
else ()
SET(CPACK_NSIS_INSTALL_ROOT "${PROGRAMFILES}")
SET(BITS 32)
endif ()
set(ORIGINAL_SOURCE_DIR @PROJECT_SOURCE_DIR@)
set(PROJECT_SOURCE_DIR @PROJECT_SOURCE_DIR@)
set(LIB_EAY_RELEASE_DLL @LIB_EAY_RELEASE_DLL@)
set(SSL_EAY_RELEASE_DLL @SSL_EAY_RELEASE_DLL@)
set(ICU_DT @ICU_DT@)
set(ICU_DT_DEST @ICU_DT_DEST@)
################################################################################
# Get the final values for cpack:
################################################################################
set(CPACK_PACKAGE_VERSION "${ARANGODB_VERSION}")
set(CPACK_PACKAGE_NAME "arangodb3-client")
set(CPACK_PACKAGE_CONTACT ${ARANGODB_PACKAGE_CONTACT})
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${ARANGODB_PACKAGE_REVISION}_${ARANGODB_PACKAGE_ARCHITECTURE}")
################################################################################
# ------------------------------------------------------------------------------
################################################################################
# so we don't need to ship dll's twice, make it one directory:
set(CMAKE_INSTALL_FULL_SBINDIR "${CMAKE_INSTALL_FULL_BINDIR}")
set(W_INSTALL_FILES "${PROJECT_SOURCE_DIR}/Installation/Windows/")
set(CPACK_MODULE_PATH "${W_INSTALL_FILES}/client/Templates")
set(CPACK_PLUGIN_PATH "${W_INSTALL_FILES}/client/Plugins")
set(CPACK_PACKAGE_NAME "ArangoSH")
set(CPACK_NSIS_DISPLAY_NAME, ${ARANGODB_DISPLAY_NAME})
set(CPACK_NSIS_HELP_LINK ${ARANGODB_HELP_LINK})
set(CPACK_NSIS_URL_INFO_ABOUT ${ARANGODB_URL_INFO_ABOUT})
set(CPACK_NSIS_CONTACT ${ARANGODB_CONTACT})
set(CPACK_NSIS_MODIFY_PATH ON)
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL 1)
set(BITS 64)
if (CMAKE_CL_64)
SET(CPACK_NSIS_INSTALL_ROOT "${PROGRAMFILES64}")
SET(BITS 64)
else ()
SET(CPACK_NSIS_INSTALL_ROOT "${PROGRAMFILES}")
SET(BITS 32)
endif ()
include(${ORIGINAL_SOURCE_DIR}/cmake/VcMacros.cmake)
include(GNUInstallDirs)
set(CMAKE_INSTALL_SYSCONFDIR_ARANGO "${CMAKE_INSTALL_SYSCONFDIR}/arangodb3")
set(CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO "${CMAKE_INSTALL_FULL_SYSCONFDIR}/arangodb3")
set(CMAKE_INSTALL_DATAROOTDIR_ARANGO "${CMAKE_INSTALL_DATAROOTDIR}/arangodb3")
set(CMAKE_INSTALL_FULL_DATAROOTDIR_ARANGO "${CMAKE_INSTALL_FULL_DATAROOTDIR}/arangodb3")
set(INSTALL_MACROS_NO_TARGET_INSTALL TRUE)
include(${ORIGINAL_SOURCE_DIR}/cmake/InstallMacros.cmake)
# install the visual studio runtime:
set(CMAKE_INSTALL_UCRT_LIBRARIES 1)
include(InstallRequiredSystemLibraries)
INSTALL(FILES ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} DESTINATION bin COMPONENT Libraries)
INSTALL(FILES ${CMAKE_INSTALL_SYSTEM_RUNTIME_COMPONENT} DESTINATION bin COMPONENT Libraries)
# install openssl
if (NOT LIB_EAY_RELEASE_DLL OR NOT SSL_EAY_RELEASE_DLL)
message(FATAL_ERROR, "BUNDLE_OPENSSL set but couldn't locate SSL DLLs. Please set LIB_EAY_RELEASE_DLL and SSL_EAY_RELEASE_DLL")
endif()
install (FILES "${LIB_EAY_RELEASE_DLL}" DESTINATION "${CMAKE_INSTALL_BINDIR}/" COMPONENT Libraries)
install (FILES "${SSL_EAY_RELEASE_DLL}" DESTINATION "${CMAKE_INSTALL_BINDIR}/" COMPONENT Libraries)
# icon paths
set (ICON_PATH "${W_INSTALL_FILES}/Icons/")
install(DIRECTORY "${ICON_PATH}" DESTINATION "resources")
file(TO_NATIVE_PATH "resources/Icons/arangodb.ico" RELATIVE_ARANGO_ICON)
file(TO_NATIVE_PATH "${ICON_PATH}arangodb.bmp" ARANGO_IMG)
file(TO_NATIVE_PATH "${ICON_PATH}/arangodb.ico" ARANGO_ICON)
STRING(REGEX REPLACE "\\\\" "\\\\\\\\" RELATIVE_ARANGO_ICON "${RELATIVE_ARANGO_ICON}")
STRING(REGEX REPLACE "\\\\" "\\\\\\\\" ARANGO_IMG "${ARANGO_IMG}")
STRING(REGEX REPLACE "\\\\" "\\\\\\\\" ARANGO_ICON "${ARANGO_ICON}")
set(CPACK_PACKAGE_ICON ${ARANGO_ICON})
set(CPACK_NSIS_MUI_ICON ${ARANGO_ICON})
set(CPACK_NSIS_MUI_UNIICON ${ARANGO_ICON})
set(CPACK_NSIS_INSTALLED_ICON_NAME ${RELATIVE_ARANGO_ICON})
message(STATUS "RELATIVE_ARANGO_ICON: ${RELATIVE_ARANGO_ICON}")
message(STATUS "ARANGO_IMG: ${ARANGO_IMG}")
message(STATUS "ARANGO_ICON: ${ARANGO_ICON}")
# versioning
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${W_INSTALL_FILES}/version")
include("${W_INSTALL_FILES}/version/generate_product_version.cmake")
set(CPACK_ARANGODB_NSIS_DEFINES "
!define BITS ${BITS}
!define TRI_FRIENDLY_SVC_NAME '${ARANGODB_FRIENDLY_STRING}'
!define TRI_AARDVARK_URL 'http://127.0.0.1:8529'
")
################################################################################
# Install the external files into the package directory:
################################################################################
include(${ORIGINAL_SOURCE_DIR}/cmake/InstallArangoDBJSClient.cmake)
include(${ORIGINAL_SOURCE_DIR}/arangosh/install.cmake)
install_readme(README.windows README.windows.txt)
# other platforms link the file into the binary
install(FILES ${ICU_DT}
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/arangodb3"
RENAME ${ICU_DT_DEST})
include(CPack)

View File

@ -1,4 +1,5 @@
# so we don't need to ship dll's twice, make it one directory:
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/InstallMacros.cmake)
set(CMAKE_INSTALL_FULL_SBINDIR "${CMAKE_INSTALL_FULL_BINDIR}")
set(W_INSTALL_FILES "${PROJECT_SOURCE_DIR}/Installation/Windows/")
set(CPACK_PACKAGE_NAME "ArangoDB")
@ -13,9 +14,11 @@ set(CPACK_PLUGIN_PATH "${CMAKE_CURRENT_SOURCE_DIR}/Installation/Windows/Plugins"
set(BITS 64)
if (CMAKE_CL_64)
SET(CPACK_NSIS_INSTALL_ROOT "${PROGRAMFILES64}")
SET(ARANGODB_PACKAGE_ARCHITECTURE "win64")
SET(BITS 64)
else ()
SET(CPACK_NSIS_INSTALL_ROOT "${PROGRAMFILES}")
SET(ARANGODB_PACKAGE_ARCHITECTURE "win32")
SET(BITS 32)
endif ()
@ -32,8 +35,8 @@ if (NOT LIB_EAY_RELEASE_DLL OR NOT SSL_EAY_RELEASE_DLL)
message(FATAL_ERROR, "BUNDLE_OPENSSL set but couldn't locate SSL DLLs. Please set LIB_EAY_RELEASE_DLL and SSL_EAY_RELEASE_DLL")
endif()
install (FILES "${LIB_EAY_RELEASE_DLL}" DESTINATION "${CMAKE_INSTALL_FULL_BINDIR}/" COMPONENT Libraries)
install (FILES "${SSL_EAY_RELEASE_DLL}" DESTINATION "${CMAKE_INSTALL_FULL_BINDIR}/" COMPONENT Libraries)
install (FILES "${LIB_EAY_RELEASE_DLL}" DESTINATION "${CMAKE_INSTALL_BINDIR}/" COMPONENT Libraries)
install (FILES "${SSL_EAY_RELEASE_DLL}" DESTINATION "${CMAKE_INSTALL_BINDIR}/" COMPONENT Libraries)
# icon paths
set (ICON_PATH "${W_INSTALL_FILES}/Icons/")
@ -66,3 +69,36 @@ set(CPACK_ARANGODB_NSIS_DEFINES "
!define TRI_FRIENDLY_SVC_NAME '${ARANGODB_FRIENDLY_STRING}'
!define TRI_AARDVARK_URL 'http://127.0.0.1:8529'
")
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${ARANGODB_PACKAGE_REVISION}_${ARANGODB_PACKAGE_ARCHITECTURE}")
################################################################################
# hook to build the server package
################################################################################
add_custom_target(package-arongodb-server-nsis
COMMAND ${CMAKE_COMMAND} .
COMMAND ${CMAKE_CPACK_COMMAND} -G NSIS -C ${CMAKE_BUILD_TYPE}
WORKING_DIRECTORY ${PROJECT_BINARY_DIR})
list(APPEND PACKAGES_LIST package-arongodb-server-nsis)
add_custom_target(package-arongodb-server-zip
COMMAND ${CMAKE_COMMAND} .
COMMAND ${CMAKE_CPACK_COMMAND} -G ZIP -C ${CMAKE_BUILD_TYPE}
WORKING_DIRECTORY ${PROJECT_BINARY_DIR})
list(APPEND PACKAGES_LIST package-arongodb-server-zip)
################################################################################
# hook to build the client package
################################################################################
set(CLIENT_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/../p)
configure_file(cmake/packages/client/nsis.txt ${CLIENT_BUILD_DIR}/CMakeLists.txt @ONLY)
add_custom_target(package-arongodb-client-nsis
COMMAND ${CMAKE_COMMAND} .
COMMAND ${CMAKE_CPACK_COMMAND} -G NSIS -V -C ${CMAKE_BUILD_TYPE}
COMMAND cp *.exe ${PROJECT_BINARY_DIR}
WORKING_DIRECTORY ${CLIENT_BUILD_DIR})
list(APPEND PACKAGES_LIST package-arongodb-client-nsis)

View File

@ -182,7 +182,7 @@ var updateFishbowlFromZip = function (filename) {
};
// //////////////////////////////////////////////////////////////////////////////
// / @brief returns the search result for FOXX services
// / @brief returns the search result for Foxx services
// //////////////////////////////////////////////////////////////////////////////
var searchJson = function (name) {
@ -227,7 +227,7 @@ var searchJson = function (name) {
};
// //////////////////////////////////////////////////////////////////////////////
// / @brief searchs for an available FOXX services
// / @brief searchs for an available Foxx services
// //////////////////////////////////////////////////////////////////////////////
var search = function (name) {
@ -285,7 +285,7 @@ function extractMaxVersion (matchEngine, versionDoc) {
}
// //////////////////////////////////////////////////////////////////////////////
// / @brief returns all available FOXX services
// / @brief returns all available Foxx services
// //////////////////////////////////////////////////////////////////////////////
function availableJson (matchEngine) {
@ -356,7 +356,7 @@ var update = function () {
};
// //////////////////////////////////////////////////////////////////////////////
// / @brief prints all available FOXX services
// / @brief prints all available Foxx services
// //////////////////////////////////////////////////////////////////////////////
var available = function (matchEngine) {
@ -380,7 +380,7 @@ var available = function (matchEngine) {
};
// //////////////////////////////////////////////////////////////////////////////
// / @brief gets json-info for an available FOXX service
// / @brief gets json-info for an available Foxx service
// //////////////////////////////////////////////////////////////////////////////
var infoJson = function (name) {
@ -480,7 +480,7 @@ var installationInfo = function (serviceInfo) {
};
// //////////////////////////////////////////////////////////////////////////////
// / @brief prints info for an available FOXX service
// / @brief prints info for an available Foxx service
// //////////////////////////////////////////////////////////////////////////////
var info = function (name) {

View File

@ -1630,7 +1630,7 @@ function ahuacatlFunctionsTestSuite () {
{ value: "foobaz", lookup: { foobar: "bar", foobaz: null }, expected: null, def: "foobaz" },
{ value: "foobaz", lookup: { foobar: "bar", foobaz: [ 1, 2, 3 ] }, expected: [ 1, 2, 3 ], def: null },
{ value: "foobaz", lookup: { foobar: "bar" }, expected: null, def: null },
{ value: "foobaz", lookup: { }, expected: "FOXX", def: "FOXX" },
{ value: "foobaz", lookup: { }, expected: "Foxx", def: "Foxx" },
{ value: "foobaz", lookup: { foobar: "bar", foobaz: { thefoxx: "is great" } }, expected: { thefoxx: "is great" }, def: null },
{ value: "one", lookup: { one: "two", two: "three", three: "four" }, expected: "two", def: "foo" },
{ value: null, lookup: { "foo": "one", " ": "bar", "empty": 3 }, expected: "bla", def: "bla" },

View File

@ -319,7 +319,7 @@ void TRI_FixIcuDataEnv() {
std::string p = TRI_LocateInstallDirectory();
if (!p.empty()) {
std::string e = "ICU_DATA=" + p + "share\\arangodb\\";
std::string e = "ICU_DATA=" + p + "share\\arangodb3\\";
e = StringUtils::replace(e, "\\", "\\\\");
putenv(e.c_str());
} else {

View File

@ -6,12 +6,12 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd ${DIR}/..
export PARALLEL_BUILDS=25
./Installation/Jenkins/build.sh \
standard \
--rpath \
--parallel 25 \
--package DEB \
--builddir build-deb \
--buildDir build-deb \
--targetDir /var/tmp/ \
--jemalloc \

16
scripts/build-nsis.sh Normal file
View File

@ -0,0 +1,16 @@
#!/bin/bash
set -e
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd ${DIR}/..
./Installation/Jenkins/build.sh \
standard \
--msvc \
--buildDir /cygdrive/c/b/y/ \
--package NSIS \
--targetDir /var/tmp/
cd ${DIR}/..

View File

@ -10,7 +10,7 @@ cd ${DIR}/..
standard \
--rpath \
--package RPM \
--builddir build-rpm \
--buildDir build-rpm \
--targetDir /var/tmp/ \
--jemalloc \