1
0
Fork 0

Adapting to intel compiler 15.0

This commit is contained in:
Kaveh Vahedipour 2016-02-18 23:26:45 +01:00
parent 2dcb98b5e9
commit db9d23b7ef
24 changed files with 315 additions and 225 deletions

View File

@ -6,7 +6,7 @@ macro(import_target tname tdep tinclude tpath)
set_target_properties(${tname} PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${tinclude}"
IMPORTED_LOCATION "${tpath}"
)
)
endmacro()
################################################################################
@ -16,16 +16,18 @@ endmacro()
if (GO_FOUND)
if (MSVC)
set (ETCD_BUILD_COMMAND build.bat)
else()
else ()
set (ETCD_BUILD_COMMAND ./build)
endif()
endif ()
ExternalProject_Add(etcd_build
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/etcd
CONFIGURE_COMMAND ""
BUILD_IN_SOURCE TRUE
BUILD_COMMAND "${ETCD_BUILD_COMMAND}"
INSTALL_COMMAND "")
endif()
INSTALL_COMMAND ""
)
endif ()
################################################################################
## ZLIB
@ -36,15 +38,15 @@ if (UNIX)
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/zlib-1.2.7
BUILD_IN_SOURCE 1
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/zlib
CONFIGURE_COMMAND ./configure --prefix=${CMAKE_CURRENT_BINARY_DIR}/zlib --static
CONFIGURE_COMMAND CC=${CMAKE_C_COMPILER} ./configure --prefix=${CMAKE_CURRENT_BINARY_DIR}/zlib --static
INSTALL_COMMAND ""
UPDATE_COMMAND ""
)
endif()
)
endif ()
import_target(zlib zlib_build
"${CMAKE_CURRENT_SOURCE_DIR}/libev"
"${CMAKE_CURRENT_SOURCE_DIR}/libev/.libs/libev.a"
"${CMAKE_CURRENT_SOURCE_DIR}/libev"
"${CMAKE_CURRENT_SOURCE_DIR}/libev/.libs/libev.a"
)
################################################################################
@ -56,84 +58,80 @@ if (UNIX)
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libev
BUILD_IN_SOURCE 1
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/libev
CONFIGURE_COMMAND ./configure --prefix=${CMAKE_CURRENT_BINARY_DIR}/libev --enable-static --disable-shared
CONFIGURE_COMMAND CC=${CMAKE_C_COMPILER} ./configure --prefix=${CMAKE_CURRENT_BINARY_DIR}/libev --enable-static --disable-shared
INSTALL_COMMAND ""
UPDATE_COMMAND ""
)
endif()
)
endif ()
import_target(ev ev_build
"${CMAKE_CURRENT_SOURCE_DIR}/libev"
"${CMAKE_CURRENT_SOURCE_DIR}/libev/.libs/libev.a"
"${CMAKE_CURRENT_SOURCE_DIR}/libev"
"${CMAKE_CURRENT_SOURCE_DIR}/libev/.libs/libev.a"
)
################################################################################
## V8 and ICU
################################################################################
if(UNIX)
if (UNIX)
set(V8_DIR "${CMAKE_CURRENT_SOURCE_DIR}/V8-4.3.61")
set(V8_PLATFORM "native")
set(V8_BIN_DIR "${V8_DIR}/out/${V8_PLATFORM}")
set(ICU_BIN_DIR "${V8_BIN_DIR}")
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
set(V8_BIN_DIR "${V8_BIN_DIR}/obj.target/tools/gyp")
set(ICU_BIN_DIR "${ICU_BIN_DIR}/obj.target/third_party/icu")
endif()
else()
endif ()
else ()
message(ERROR "Not implemented for your OS")
endif()
endif ()
set (V8_BUILD_COMMAND $(MAKE) -f Makefile-v8
set(V8_BUILD_COMMAND $(MAKE) -f Makefile-v8
strictaliasing=off snapshot=off werror=no
${V8_PLATFORM}
CC=${CMAKE_C_COMPILER}
CXX=${CMAKE_CXX_COMPILER}
CXXFLAGS=${CMAKE_CXX_FLAGS}
LDFLAGS=${CMAKE_EXE_LINKER_FLAGS}
PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}
)
)
if (APPLE AND CMAKE_COMPILER_IS_CLANG)
set (V8_BUILD_COMMAND ${V8_BUILD_COMMAND} LDFLAGS=-stdlib=libc++)
endif()
set(V8_BUILD_COMMAND ${V8_BUILD_COMMAND} LDFLAGS=-stdlib=libc++)
endif ()
if (NOT USE_PRECOMPILED_V8)
ExternalProject_Add(v8_build SOURCE_DIR "${V8_DIR}"
BUILD_IN_SOURCE TRUE BUILD_COMMAND "${V8_BUILD_COMMAND}"
INSTALL_COMMAND "")
endif()
ExternalProject_Add(v8_build
SOURCE_DIR "${V8_DIR}"
BUILD_IN_SOURCE TRUE
BUILD_COMMAND "${V8_BUILD_COMMAND}"
INSTALL_COMMAND ""
)
endif ()
################################################################################
## V8
################################################################################
import_target(v8_base v8_build
"${V8_DIR}/include"
"${V8_BIN_DIR}/libv8_base.a"
)
import_target(v8_base v8_build "${V8_DIR}/include"
"${V8_BIN_DIR}/libv8_base.a")
import_target(v8_libbase v8_build
"${V8_DIR}/include"
"${V8_BIN_DIR}/libv8_libbase.a"
)
import_target(v8_libbase v8_build "${V8_DIR}/include"
"${V8_BIN_DIR}/libv8_libbase.a")
import_target(v8_libplatform v8_build
"${V8_DIR}/include"
"${V8_BIN_DIR}/libv8_libplatform.a"
)
import_target(v8_libplatform v8_build "${V8_DIR}/include"
"${V8_BIN_DIR}/libv8_libplatform.a")
import_target(v8_nosnapshot v8_build
"${V8_DIR}/include"
"${V8_BIN_DIR}/libv8_nosnapshot.a"
)
import_target(v8_nosnapshot v8_build "${V8_DIR}/include"
"${V8_BIN_DIR}/libv8_nosnapshot.a")
import_target(v8_snapshot v8_build "${V8_DIR}/include"
"${V8_BIN_DIR}/libv8_snapshot.a")
################################################################################
## ICU
################################################################################
# include include paths
#add_library(icu_header INTERFACE)
#target_include_directories(icu_header INTERFACE
# "${V8_DIR}/third_party/icu/source/common"
# "${V8_DIR}/third_party/icu/source/io"
# "${V8_DIR}/third_party/icu/source/i18n")
import_target(v8_snapshot v8_build
"${V8_DIR}/include"
"${V8_BIN_DIR}/libv8_snapshot.a"
)
import_target(icu_uc v8_build
"${V8_DIR}/third_party/icu/source/common;${V8_DIR}/third_party/icu/source/io;${V8_DIR}/third_party/icu/source/i18n"
@ -143,9 +141,9 @@ import_target(icu_uc v8_build
import_target(icu_data v8_build
"${V8_DIR}/third_party/icu/source/common;${V8_DIR}/third_party/icu/source/io;${V8_DIR}/third_party/icu/source/i18n"
"${ICU_BIN_DIR}/libicudata.a"
)
)
import_target(icu_i18n v8_build
"${V8_DIR}/third_party/icu/source/common;${V8_DIR}/third_party/icu/source/io;${V8_DIR}/third_party/icu/source/i18n"
"${ICU_BIN_DIR}/libicui18n.a"
)
)

View File

@ -3,9 +3,9 @@
cmake_minimum_required(VERSION 2.8)
project(ArangoDB)
if(POLICY CMP0037)
if (POLICY CMP0037)
cmake_policy(SET CMP0037 NEW)
endif()
endif ()
set(ARANGODB_DISPLAY_NAME "ArangoDB")
set(ARANGODB_URL_INFO_ABOUT "http://www.arangodb.org")
@ -41,7 +41,7 @@ if (NOT CMAKE_BUILD_TYPE)
endif ()
# Where 2 find CMAKE modules
set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
# ArangoDB needs c++11
set(CMAKE_CXX_STANDARD 11)
@ -69,62 +69,68 @@ set(BIN_ARANGOSH arangosh)
set(V8_VERSION 4.3.61)
# OS type (Convenience) --------------------------------------------------------
if(WIN32)
if(NOT WINDOWS)
if (WIN32)
if (NOT WINDOWS)
set(WINDOWS TRUE)
endif()
elseif(UNIX AND NOT APPLE)
if(CMAKE_SYSTEM_NAME MATCHES ".*Linux")
endif ()
elseif (UNIX AND NOT APPLE)
if (CMAKE_SYSTEM_NAME MATCHES ".*Linux")
set(LINUX TRUE)
elseif(CMAKE_SYSTEM_NAME MATCHES "kFreeBSD.*")
elseif (CMAKE_SYSTEM_NAME MATCHES "kFreeBSD.*")
set(FREEBSD TRUE)
elseif(CMAKE_SYSTEM_NAME MATCHES "kNetBSD.*|NetBSD.*")
elseif (CMAKE_SYSTEM_NAME MATCHES "kNetBSD.*|NetBSD.*")
set(NETBSD TRUE)
elseif(CMAKE_SYSTEM_NAME MATCHES "kOpenBSD.*|OpenBSD.*")
elseif (CMAKE_SYSTEM_NAME MATCHES "kOpenBSD.*|OpenBSD.*")
set(OPENBSD TRUE)
elseif(CMAKE_SYSTEM_NAME MATCHES ".*GNU.*")
elseif (CMAKE_SYSTEM_NAME MATCHES ".*GNU.*")
set(GNU TRUE)
elseif(CMAKE_SYSTEM_NAME MATCHES ".*BSDI.*")
elseif (CMAKE_SYSTEM_NAME MATCHES ".*BSDI.*")
set(BSDI TRUE)
elseif(CMAKE_SYSTEM_NAME MATCHES "DragonFly.*|FreeBSD")
elseif (CMAKE_SYSTEM_NAME MATCHES "DragonFly.*|FreeBSD")
set(FREEBSD TRUE)
elseif(CMAKE_SYSTEM_NAME MATCHES "SYSV5.*")
elseif (CMAKE_SYSTEM_NAME MATCHES "SYSV5.*")
set(SYSV5 TRUE)
elseif(CMAKE_SYSTEM_NAME MATCHES "Solaris.*")
elseif (CMAKE_SYSTEM_NAME MATCHES "Solaris.*")
set(SOLARIS TRUE)
elseif(CMAKE_SYSTEM_NAME MATCHES "HP-UX.*")
elseif (CMAKE_SYSTEM_NAME MATCHES "HP-UX.*")
set(HPUX TRUE)
elseif(CMAKE_SYSTEM_NAME MATCHES "AIX.*")
elseif (CMAKE_SYSTEM_NAME MATCHES "AIX.*")
set(AIX TRUE)
elseif(CMAKE_SYSTEM_NAME MATCHES "Minix.*")
elseif (CMAKE_SYSTEM_NAME MATCHES "Minix.*")
set(MINIX TRUE)
endif()
elseif(APPLE)
if(CMAKE_SYSTEM_NAME MATCHES ".*Darwin.*")
endif ()
elseif (APPLE)
if (CMAKE_SYSTEM_NAME MATCHES ".*Darwin.*")
set(DARWIN TRUE)
elseif(CMAKE_SYSTEM_NAME MATCHES ".*MacOS.*")
elseif (CMAKE_SYSTEM_NAME MATCHES ".*MacOS.*")
set(MACOSX TRUE)
endif()
endif()
endif ()
endif ()
# TODO: Exclude non-supported?
## Compiler flags --------------------------------------------------------------
# Build types
################################################################################
# BUILD TYPES
################################################################################
string(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_TL)
if(CMAKE_BUILD_TYPE_TL MATCHES debug)
if (CMAKE_BUILD_TYPE_TL MATCHES debug)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O0 -g")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -g")
elseif(CMAKE_BUILD_TYPE_TL MATCHES relwithdebinfo)
elseif (CMAKE_BUILD_TYPE_TL MATCHES relwithdebinfo)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 -g")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -g")
elseif(CMAKE_BUILD_TYPE_TL MATCHES release)
elseif (CMAKE_BUILD_TYPE_TL MATCHES release)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
endif()
endif ()
################################################################################
# GCC
################################################################################
if (CMAKE_COMPILER_IS_GNUCC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu89")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}")
@ -133,24 +139,37 @@ if (CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
endif ()
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
set (CMAKE_COMPILER_IS_CLANG 1)
elseif (CMAKE_CXX_COMPILER_ID MATCHES "Intel")
set (CMAKE_COMPILER_IS_INTEL 1)
elseif (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
set (CMAKE_COMPILER_IS_INTEL 1)
endif()
################################################################################
# OTHER COMPILERS
################################################################################
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
set(CMAKE_COMPILER_IS_CLANG 1)
elseif (CMAKE_CXX_COMPILER_ID MATCHES "AppleClang")
set(CMAKE_COMPILER_IS_CLANG 1)
elseif (CMAKE_CXX_COMPILER_ID MATCHES "Intel")
set(CMAKE_COMPILER_IS_INTEL 1)
elseif (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
set(CMAKE_COMPILER_IS_INTEL 1)
endif ()
################################################################################
# OSX
################################################################################
if (APPLE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
if (CMAKE_COMPILER_IS_CLANG)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
add_definitions("-Wno-deprecated-declarations")
endif()
endif ()
endif ()
################################################################################
# Visual Studio
################################################################################
if (MSVC)
add_definitions("-D_CRT_SECURE_NO_WARNINGS=1")
add_definitions("-DFD_SETSIZE=2048")
@ -170,7 +189,7 @@ if (MSVC)
CMAKE_CXX_FLAGS_RELWITHDEBINFO)
if (${flag_var} MATCHES "/MD")
string(REGEX REPLACE "/MDd?" "" ${flag_var} "${${flag_var}}")
endif()
endif ()
if (flag_var MATCHES "DEBUG")
set(${flag_var} "${${flag_var}} /MTd")
@ -191,13 +210,13 @@ add_definitions("-DTRI_BITS=${BITS}")
include (TargetArch)
target_architecture(CMAKE_TARGET_ARCHITECTURES)
list(LENGTH CMAKE_TARGET_ARCHITECTURES cmake_target_arch_len)
if(NOT "${cmake_target_arch_len}" STREQUAL "1")
if (NOT "${cmake_target_arch_len}" STREQUAL "1")
set(CMAKE_TARGET_ARCHITECTURE_UNIVERSAL TRUE)
set(CMAKE_TARGET_ARCHITECTURE_CODE "universal")
else()
else ()
set(CMAKE_TARGET_ARCHITECTURE_UNIVERSAL FALSE)
set(CMAKE_TARGET_ARCHITECTURE_CODE "${CMAKE_TARGET_ARCHITECTURES}")
endif()
endif ()
include (VcMacros)
include (OptimizeForArchitecture)
@ -208,7 +227,7 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Vc_ARCHITECTURE_FLAGS}")
find_package(Go 1.2)
if (NOT GO_FOUND)
message ("Go version >=1.2 not found. etcd will not be built.")
endif()
endif ()
# Enable Backtrace -------------------------------------------------------------
option(USE_BACKTRACE "whether we should try to generate c-level stacktraces"
@ -218,25 +237,25 @@ if (USE_BACKTRACE)
set(BT_LIBS "Dbghelp" CACHE path "Debug Helper libraries")
else ()
set(BT_LIBS "" CACHE path "Debug Helper libraries")
endif()
endif ()
add_definitions("-DHAVE_BACKTRACE=1")
else()
else ()
set(BT_LIBS "" CACHE path "Debug Helper libraries")
endif()
endif ()
# Maintainer mode (Assertions) -------------------------------------------------
option(USE_MAINTAINER_MODE
"whether we want to have assertions and other development features" OFF)
if (USE_MAINTAINER_MODE)
add_definitions("-DTRI_ENABLE_MAINTAINER_MODE=1")
endif()
endif ()
# Maintainer mode (Failure Tests) ----------------------------------------------
option(USE_FAILURE_TESTS
"whether we want to have failure tests compiled in" OFF)
if (USE_FAILURE_TESTS)
add_definitions("-DTRI_ENABLE_FAILURE_TESTS=1")
endif()
endif ()
# Enable relative paths to binaries --------------------------------------------
option(USE_RELATIVE "Do you want to have all path are relative to the binary" OFF)
@ -283,7 +302,7 @@ if (USE_RELATIVE)
set(TRI_SBINDIR "${CMAKE_INSTALL_PREFIX}/sbin")
endif ()
add_definitions("-D_SYSCONFDIR_=\"${ETCDIR_ESCAPED}\"")
else(USE_RELATIVE)
else ()
# etcd -------------------------------
set(ETCDIR "" CACHE path "System configuration directory (defaults to prefix/etc)")
# /etc -------------------------------
@ -301,7 +320,7 @@ else(USE_RELATIVE)
else ()
file(TO_NATIVE_PATH "${ETCDIR_NATIVE}" ETCDIR_NATIVE)
STRING(REGEX REPLACE "\\\\" "\\\\\\\\" ETCDIR_ESCAPED "${ETCDIR_NATIVE}")
endif()
endif ()
add_definitions("-D_SYSCONFDIR_=\"${ETCDIR_ESCAPED}\"")
# arango directories -----------------
@ -375,7 +394,7 @@ include_directories(${PROJECT_SOURCE_DIR})
include_directories(${PROJECT_BINARY_DIR}/lib)
if (CUSTOM_INCLUDES)
include_directories(${CUSTOM_INCLUDES})
endif()
endif ()
# Libraries --------------------------------------------------------------------
option(USE_PRECOMPILED_V8
@ -511,7 +530,7 @@ else ()
set(ICU_LIB_PATH ${PROJECT_SOURCE_DIR}/3rdParty/V8-${V8_VERSION}/out/native CACHE path "ICU library path")
if (LINUX)
set(ICU_LIB_PATH "${ICU_LIB_PATH}/obj.target/third_party/icu")
endif()
endif ()
set(ICU_LIBS icui18n;icuuc;icudata;pthread;dl;m CACHE path "ICU libraries")
endif ()
@ -532,7 +551,7 @@ else ()
set(V8_LIB_PATH ${PROJECT_SOURCE_DIR}/3rdParty/V8-${V8_VERSION}/out/native CACHE path "V8 library path")
if (LINUX)
set(V8_LIB_PATH "${V8_LIB_PATH}/obj.target/tools/gyp")
endif()
endif ()
set(V8_LIBS v8_base;v8_libbase;v8_libplatform;v8_nosnapshot CACHE string "V8 libraries")
endif ()
@ -578,12 +597,12 @@ if (${Boost_FOUND})
add_definitions(-DBoost_MAJOR_VERSION=${Boost_MAJOR_VERSION})
add_definitions(-DBoost_MINOR_VERSION=${Boost_MINOR_VERSION})
link_directories (${BOOST_LIBRARYDIR})
else()
else ()
message ("Boost unit test framework not found. Unit tests are disabled.")
endif()
endif ()
# OpenSSL ----------------------------------------------------------------------
#set (OPENSSL_USE_STATIC_LIBS "TRUE")
#set(OPENSSL_USE_STATIC_LIBS "TRUE")
find_package(OpenSSL REQUIRED)
include_directories(${OPENSSL_INCLUDE_DIR})
if (OPENSSL_VERSION)
@ -592,8 +611,8 @@ if (OPENSSL_VERSION)
list(GET OPENSSL_VERSION_LIST 1 OPENSSL_VERSION_MINOR)
if (${OPENSSL_VERSION_MAJOR} GREATER 0 AND ${OPENSSL_VERSION_MINOR} GREATER 0)
add_definitions(-DOPENSSL_NO_SSL2)
endif()
endif()
endif ()
endif ()
# BISON&FLEX -------------------------------------------------------------------
find_package (BISON)
@ -749,13 +768,13 @@ if (MSVC)
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL 1)
set(BITS 64)
if(CMAKE_CL_64)
if (CMAKE_CL_64)
SET(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES64")
SET(BITS 64)
else()
else ()
SET(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES")
SET(BITS 32)
endif()
endif ()
message(STATUS "ARANGO_IMG: ${ARANGO_IMG}")
message(STATUS "ARANGO_ICON: ${ARANGO_ICON}")
@ -783,21 +802,21 @@ if (MSVC)
set(CPACK_NSIS_CONTACT ${ARANGODB_CONTACT})
# etcd
if(CMAKE_CL_64)
if (CMAKE_CL_64)
install(PROGRAMS WindowsLibraries/64/bin/etcd-arango.exe
DESTINATION ${TRI_SBINDIR_INSTALL})
install(FILES WindowsLibraries/64/icudtl.dat
DESTINATION share/arangodb
RENAME icudt54l.dat)
else()
else ()
install(PROGRAMS WindowsLibraries/32/bin/etcd-arango.exe
DESTINATION ${TRI_SBINDIR_INSTALL})
install(FILES WindowsLibraries/32/icudtl.dat
DESTINATION share/arangodb
RENAME icudt54l.dat)
endif()
endif ()
endif ()

View File

@ -15,7 +15,7 @@ warning:
@echo " make"
@echo ""
@echo "If running on MacOSX, please use OPENSSL from homebrew and"
@echo " cmake .. -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl"
@echo " cmake .. -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++"
@echo ""
-include Makefile

View File

@ -1308,8 +1308,8 @@ int main(int argc, char* argv[]) {
TRI_EXIT_FUNCTION(EXIT_FAILURE, nullptr);
}
if (major < 1 || major > 2 || (major == 1 && minor < 4)) {
// we can connect to 1.4, 2.0 and higher only
if (major != 3) {
// we can connect to 3.x
std::cerr << "Error: got incompatible server version '" << versionString
<< "'" << std::endl;
if (!Force) {

View File

@ -987,8 +987,8 @@ int main(int argc, char* argv[]) {
TRI_EXIT_FUNCTION(EXIT_FAILURE, nullptr);
}
if (major < 1 || major > 2 || (major == 1 && minor < 4)) {
// we can connect to 1.4, 2.0 and higher only
if (major != 3) {
// we can connect to 3.x
std::cerr << "Error: got incompatible server version '" << versionString
<< "'" << std::endl;
if (!Force) {

View File

@ -20314,38 +20314,40 @@ window.ArangoUsers = Backbone.Collection.extend({
checkLockedCollections: function() {
var self = this,
lockedCollections = window.arangoHelper.syncAndReturnUninishedAardvarkJobs('index');
if (window.location.hash === '#collections') {
var self = this,
lockedCollections = window.arangoHelper.syncAndReturnUninishedAardvarkJobs('index');
this.collection.each(function(model) {
model.set('locked', false);
});
_.each(lockedCollections, function(locked) {
var model = self.collection.findWhere({
id: locked.collection
this.collection.each(function(model) {
model.set('locked', false);
});
model.set('locked', true);
model.set('lockType', locked.type);
model.set('desc', locked.desc);
});
this.collection.each(function(model) {
if (model.get("locked") || model.get("status") === 'loading') {
$('#collection_' + model.get("name")).addClass('locked');
}
else {
$('#collection_' + model.get("name")).removeClass('locked');
$('#collection_' + model.get("name") + ' .corneredBadge').text(model.get("status"));
if ($('#collection_' + model.get("name") + ' .corneredBadge').hasClass('inProgress')) {
$('#collection_' + model.get("name") + ' .corneredBadge').removeClass('inProgress');
$('#collection_' + model.get("name") + ' .corneredBadge').addClass('loaded');
_.each(lockedCollections, function(locked) {
var model = self.collection.findWhere({
id: locked.collection
});
model.set('locked', true);
model.set('lockType', locked.type);
model.set('desc', locked.desc);
});
this.collection.each(function(model) {
if (model.get("locked") || model.get("status") === 'loading') {
$('#collection_' + model.get("name")).addClass('locked');
}
}
if (model.get("status") === 'loading') {
$('#collection_' + model.get("name")).removeClass('loading');
}
});
else {
$('#collection_' + model.get("name")).removeClass('locked');
$('#collection_' + model.get("name") + ' .corneredBadge').text(model.get("status"));
if ($('#collection_' + model.get("name") + ' .corneredBadge').hasClass('inProgress')) {
$('#collection_' + model.get("name") + ' .corneredBadge').removeClass('inProgress');
$('#collection_' + model.get("name") + ' .corneredBadge').addClass('loaded');
}
}
if (model.get("status") === 'loading') {
$('#collection_' + model.get("name")).removeClass('loading');
}
});
}
},
@ -22403,8 +22405,6 @@ window.ArangoUsers = Backbone.Collection.extend({
this.page = page;
this.type = type;
this.checkCollectionState();
this.collection.getDocuments(this.getDocsCallback.bind(this));
this.collectionModel = this.collectionsStore.get(colid);
},
@ -23210,14 +23210,13 @@ window.ArangoUsers = Backbone.Collection.extend({
if (this.lastCollectionName === this.collectionName) {
if (this.activeFilter) {
this.filterCollection();
console.log("yes");
this.restoreFilter();
}
}
else {
if (this.lastCollectionName !== undefined) {
this.collection.resetFilter();
this.collection.setSort('_key');
this.collection.setSort('');
this.restoredFilters = [];
this.activeFilter = false;
}
@ -23553,9 +23552,53 @@ window.ArangoUsers = Backbone.Collection.extend({
},
render: function(){
$(this.el).html(this.template.render({
model: this.model
}));
var conf = function() {
if (this.model.needsConfiguration()) {
if ($(this.el).find('.warning-icons').length > 0) {
$(this.el).find('.warning-icons')
.append('<span class="fa fa-cog" title="Needs configuration"></span>');
}
else {
$(this.el).find('img')
.after(
'<span class="warning-icons"><span class="fa fa-cog" title="Needs configuration"></span></span>'
);
}
}
}.bind(this);
var depend = function() {
if (this.model.hasUnconfiguredDependencies()) {
if ($(this.el).find('.warning-icons').length > 0) {
$(this.el).find('.warning-icons')
.append('<span class="fa fa-cubes" title="Unconfigured dependencies"></span>');
}
else {
$(this.el).find('img')
.after(
'<span class="warning-icons"><span class="fa fa-cubes" title="Unconfigured dependencies"></span></span>'
);
}
}
}.bind(this);
/*isBroken function in model doesnt make sense
var broken = function() {
$(this.el).find('warning-icons')
.append('<span class="fa fa-warning" title="Mount error"></span>');
}.bind(this);
*/
this.model.getConfiguration(conf);
this.model.getDependencies(depend);
return $(this.el);
}
});
@ -25971,6 +26014,7 @@ window.ArangoUsers = Backbone.Collection.extend({
message,
"",
"",
"",
""
]);
}

File diff suppressed because one or more lines are too long

View File

@ -1,3 +1,3 @@
<script src="sharedLibs.js?version=1455805193418"></script>
<script src="libs.js?version=1455805193418"></script>
<script src="app.js?version=1455805193418"></script>
<script src="sharedLibs.js?version=1455810762368"></script>
<script src="libs.js?version=1455810762368"></script>
<script src="app.js?version=1455810762368"></script>

View File

@ -955,19 +955,6 @@ if (list.length > 0) {
<p><% if(n) { %><i class="isOnline fa fa-check-circle-o serverStatusIndicator"></i><a><%=n%> <%=v%> <% } %></a></i></p>
</div></script><script id="foxxActiveView.ejs" type="text/template"><div class="borderBox"></div>
<img src="foxxes/thumbnail?mount=<%= model.encodedMount() %>" height="50" width="50" alt="Icon for Service" class="icon">
<% if (model.needsAttention()) { %>
<span class="warning-icons">
<% if (model.isBroken()) { %>
<span class="fa fa-warning" title="Mount error"></span>
<% } %>
<% if (model.needsConfiguration()) { %>
<span class="fa fa-cog" title="Needs configuration"></span>
<% } %>
<% if (model.hasUnconfiguredDependencies()) { %>
<span class="fa fa-cubes" title="Unconfigured dependencies">!</span>
<% } %>
</span>
<% } %>
<% if(model.isDevelopment()) { %>
<div class="tileBadge">
<span>
@ -2749,4 +2736,4 @@ var cutByResolution = function (str) {
</div>
<div id="workMonitorContent" class="innerContent">
</div></script></head><body><nav class="navbar"><div class="resizecontainer"><div class="navlogo"><a class="logo" href="#"><img class="arangodbLogo" src="img/arangodb_logo_small.png"></a></div><div id="progressPlaceholderIcon"></div><div class="statmenu" id="statisticBar"></div><div class="usermenu" id="userBar" style="float:right"></div><div class="notificationmenu" id="notificationBar" style="float:right"></div><div class="navmenu" id="navigationBar"></div></div></nav><div class="centralRow resizecontainer"><div id="content" class="centralContent"></div></div><div id="modalPlaceholder"></div><div id="progressPlaceholder" style="display:none"></div><footer class="footer"><div class="resizecontainer" id="footerBar"></div></footer><div class="arangoFrame" style=""><div class="outerDiv"><div class="innerDiv"></div></div></div><script src="sharedLibs.js?version=1455805193418"></script><script src="libs.js?version=1455805193418"></script><script src="app.js?version=1455805193418"></script></body></html>
</div></script></head><body><nav class="navbar"><div class="resizecontainer"><div class="navlogo"><a class="logo" href="#"><img class="arangodbLogo" src="img/arangodb_logo_small.png"></a></div><div id="progressPlaceholderIcon"></div><div class="statmenu" id="statisticBar"></div><div class="usermenu" id="userBar" style="float:right"></div><div class="notificationmenu" id="notificationBar" style="float:right"></div><div class="navmenu" id="navigationBar"></div></div></nav><div class="centralRow resizecontainer"><div id="content" class="centralContent"></div></div><div id="modalPlaceholder"></div><div id="progressPlaceholder" style="display:none"></div><footer class="footer"><div class="resizecontainer" id="footerBar"></div></footer><div class="arangoFrame" style=""><div class="outerDiv"><div class="innerDiv"></div></div></div><script src="sharedLibs.js?version=1455810762368"></script><script src="libs.js?version=1455810762368"></script><script src="app.js?version=1455810762368"></script></body></html>

View File

@ -1036,19 +1036,6 @@ if (list.length > 0) {
<script id="foxxActiveView.ejs" type="text/template">
<div class="borderBox"></div>
<img src="foxxes/thumbnail?mount=<%= model.encodedMount() %>" height="50" width="50" alt="Icon for Service" class="icon">
<% if (model.needsAttention()) { %>
<span class="warning-icons">
<% if (model.isBroken()) { %>
<span class="fa fa-warning" title="Mount error"></span>
<% } %>
<% if (model.needsConfiguration()) { %>
<span class="fa fa-cog" title="Needs configuration"></span>
<% } %>
<% if (model.hasUnconfiguredDependencies()) { %>
<span class="fa fa-cubes" title="Unconfigured dependencies">!</span>
<% } %>
</span>
<% } %>
<% if(model.isDevelopment()) { %>
<div class="tileBadge">
<span>
@ -3013,9 +3000,9 @@ var cutByResolution = function (str) {
</div>
</div>
<script src="sharedLibs.js?version=1455805193418"></script>
<script src="libs.js?version=1455805193418"></script>
<script src="app.js?version=1455805193418"></script>
<script src="sharedLibs.js?version=1455810762368"></script>
<script src="libs.js?version=1455810762368"></script>
<script src="app.js?version=1455810762368"></script>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@ -6418,6 +6418,10 @@ toolbar {
.queryManagementBottomActions button {
margin-right: 10px; }
#queryManagementContent .table-cell1,
#arangoQueryManagementTable .table-cell1 {
word-break: break-all; }
.queryMethods {
border-top: 1px solid rgba(140, 138, 137, 0.25);
padding-bottom: 5px;

View File

@ -1,19 +1,6 @@
<script id="foxxActiveView.ejs" type="text/template">
<div class="borderBox"></div>
<img src="foxxes/thumbnail?mount=<%= model.encodedMount() %>" height="50" width="50" alt="Icon for Service" class="icon">
<% if (model.needsAttention()) { %>
<span class="warning-icons">
<% if (model.isBroken()) { %>
<span class="fa fa-warning" title="Mount error"></span>
<% } %>
<% if (model.needsConfiguration()) { %>
<span class="fa fa-cog" title="Needs configuration"></span>
<% } %>
<% if (model.hasUnconfiguredDependencies()) { %>
<span class="fa fa-cubes" title="Unconfigured dependencies">!</span>
<% } %>
</span>
<% } %>
<% if(model.isDevelopment()) { %>
<div class="tileBadge">
<span>

View File

@ -102,7 +102,6 @@
this._showDevel = true;
this._showProd = true;
this._showSystem = false;
this.reload();
},
slideToggle: function() {
@ -116,6 +115,7 @@
},
render: function() {
console.log("RENDERER");
this.collection.sort();
$(this.el).html(this.template.render({}));

View File

@ -46,9 +46,53 @@
},
render: function(){
$(this.el).html(this.template.render({
model: this.model
}));
var conf = function() {
if (this.model.needsConfiguration()) {
if ($(this.el).find('.warning-icons').length > 0) {
$(this.el).find('.warning-icons')
.append('<span class="fa fa-cog" title="Needs configuration"></span>');
}
else {
$(this.el).find('img')
.after(
'<span class="warning-icons"><span class="fa fa-cog" title="Needs configuration"></span></span>'
);
}
}
}.bind(this);
var depend = function() {
if (this.model.hasUnconfiguredDependencies()) {
if ($(this.el).find('.warning-icons').length > 0) {
$(this.el).find('.warning-icons')
.append('<span class="fa fa-cubes" title="Unconfigured dependencies"></span>');
}
else {
$(this.el).find('img')
.after(
'<span class="warning-icons"><span class="fa fa-cubes" title="Unconfigured dependencies"></span></span>'
);
}
}
}.bind(this);
/*isBroken function in model doesnt make sense
var broken = function() {
$(this.el).find('warning-icons')
.append('<span class="fa fa-warning" title="Mount error"></span>');
}.bind(this);
*/
this.model.getConfiguration(conf);
this.model.getDependencies(depend);
return $(this.el);
}
});

View File

@ -187,6 +187,7 @@
message,
"",
"",
"",
""
]);
}

View File

@ -43,6 +43,12 @@ toolbar {
}
}
#queryManagementContent,
#arangoQueryManagementTable {
.table-cell1 {
word-break: break-all;
}
}
.queryMethods {
@ -445,4 +451,5 @@ toolbar {
.arango-icon-disk {
margin-top: 1px;
}
}

View File

@ -182,20 +182,23 @@ const TOP_DIR = (function findTopDir() {
return topDir;
}());
const ARANGOB_BIN = fs.join(TOP_DIR, "build", "bin", "arangob");
const ARANGODUMP_BIN = fs.join(TOP_DIR, "build", "bin", "arangodump");
const ARANGOD_BIN = fs.join(TOP_DIR, "build", "bin", "arangod");
const ARANGOIMP_BIN = fs.join(TOP_DIR, "build", "bin", "arangoimp");
const ARANGORESTORE_BIN = fs.join(TOP_DIR, "build", "bin", "arangorestore");
const ARANGOSH_BIN = fs.join(TOP_DIR, "build", "bin", "arangosh");
const ETCD_ARANGO_BIN = fs.join(TOP_DIR, "build", "bin", "etcd-arango");
const BIN_DIR = (fs.exists("build") && fs.exists(fs.join("build", "bin")))
? fs.join(TOP_DIR, "build", "bin")
: fs.join(TOP_DIR, "bin");
const ARANGOB_BIN = fs.join(BIN_DIR, "arangob");
const ARANGODUMP_BIN = fs.join(BIN_DIR, "arangodump");
const ARANGOD_BIN = fs.join(BIN_DIR, "arangod");
const ARANGOIMP_BIN = fs.join(BIN_DIR, "arangoimp");
const ARANGORESTORE_BIN = fs.join(BIN_DIR, "arangorestore");
const ARANGOSH_BIN = fs.join(BIN_DIR, "arangosh");
const CONFIG_DIR = fs.join(TOP_DIR, "build", "etc", "arangodb");
const CONFIG_RELATIVE_DIR = fs.join(TOP_DIR, "etc", "relative");
const ETCD_ARANGO_BIN = fs.join(BIN_DIR, "etcd-arango");
const JS_DIR = fs.join(TOP_DIR, "js");
const LOGS_DIR = fs.join(TOP_DIR, "logs");
const PEM_FILE = fs.join(TOP_DIR, "UnitTests", "server.pem");
const UNITTESTS_DIR = fs.join(TOP_DIR, "UnitTests");
const CONFIG_DIR = fs.join(TOP_DIR, "build", "etc", "arangodb");
const CONFIG_RELATIVE_DIR = fs.join(TOP_DIR, "etc", "relative");
const BIN_DIR = fs.join(TOP_DIR, "build", "bin");
function makeResults(testname) {
const startTime = time();

View File

@ -15,7 +15,16 @@ ulimit -n 2048
export PORT=`expr 1024 + $RANDOM`
export ETCD_NONO_WAL_SYNC=1
exec build/bin/arangosh \
if [ -x build/bin/arangosh ]; then
ARANGOSH=build/bin/arangosh
elif [ -x bin/arangosh ]; then
ARANGOSH=bin/arangosh
else
echo "$0: cannot locate arangosh"
fi
exec $ARANGOSH \
-c etc${PS}relative${PS}arangosh.conf \
--server.endpoint tcp://127.0.0.1:${PORT} \
--javascript.execute UnitTests${PS}unittest.js \