diff --git a/3rdParty/V8/CMakeLists.txt b/3rdParty/V8/CMakeLists.txt index 2704123c32..cf0933f256 100644 --- a/3rdParty/V8/CMakeLists.txt +++ b/3rdParty/V8/CMakeLists.txt @@ -17,7 +17,8 @@ if (POLICY CMP0048) cmake_policy(SET CMP0048 NEW) endif () -project(V8 VERSION 4.3.61) +project(V8) +set(V8_VERSION 4.3.61) set(V8_DIR "${CMAKE_CURRENT_SOURCE_DIR}/V8-${V8_VERSION}") set(V8_TARGET_DIR "${CMAKE_CURRENT_BINARY_DIR}/v8") @@ -118,7 +119,7 @@ set(ICU_INCLUDE_DIR ) set(ICU_LIBS - "${ICU_BIN_DIR}/libicuuc.a;${ICU_BIN_DIR}/libicudata.a;${ICU_BIN_DIR}/libicui18n.a" + "${ICU_BIN_DIR}/libicui18n.a;${ICU_BIN_DIR}/libicuuc.a;${ICU_BIN_DIR}/libicudata.a" ${libev_BINARY_DIR}/libev.a CACHE INTERNAL "ICU: Libraries" diff --git a/3rdParty/libev/CMakeLists.txt b/3rdParty/libev/CMakeLists.txt index 472ea28c5a..d96cf0cf9f 100755 --- a/3rdParty/libev/CMakeLists.txt +++ b/3rdParty/libev/CMakeLists.txt @@ -17,10 +17,10 @@ if (POLICY CMP0048) cmake_policy(SET CMP0048 NEW) endif () -project(libev VERSION 4.22) +project(libev) +set(libev_VERSION 4.22) if (MSVC) - set (FLAGS "${FLAGS} /FI\"${PROJECT_SOURCE_DIR}/ev_triagens_win32.h\"") foreach (flag_var diff --git a/3rdParty/zlib/zlib-1.2.8/CMakeLists.txt b/3rdParty/zlib/zlib-1.2.8/CMakeLists.txt index 29cc5bdabc..323f7a5d7d 100644 --- a/3rdParty/zlib/zlib-1.2.8/CMakeLists.txt +++ b/3rdParty/zlib/zlib-1.2.8/CMakeLists.txt @@ -9,8 +9,9 @@ if (POLICY CMP0048) cmake_policy(SET CMP0048 NEW) endif () -project(zlib VERSION 1.2.8 LANGUAGES C) +project(zlib) +set(zlib_VERSION 1.2.8) set(VERSION "1.2.8") option(ASM686 "Enable building i686 assembly implementation") diff --git a/3rdParty/zlib/zlib-1.2.8/CMakeLists.txt~ b/3rdParty/zlib/zlib-1.2.8/CMakeLists.txt~ deleted file mode 100644 index d4b5ef638f..0000000000 --- a/3rdParty/zlib/zlib-1.2.8/CMakeLists.txt~ +++ /dev/null @@ -1,253 +0,0 @@ -cmake_minimum_required(VERSION 2.4.4) -set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON) - -project(zlib C) - -set(VERSION "1.2.8") - -if (POLICY CMP0042) - cmake_policy(SET CMP0042 OLD) -endif () - -option(ASM686 "Enable building i686 assembly implementation") -option(AMD64 "Enable building amd64 assembly implementation") - -set(INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation directory for executables") -set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Installation directory for libraries") -set(INSTALL_INC_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "Installation directory for headers") -set(INSTALL_MAN_DIR "${CMAKE_INSTALL_PREFIX}/share/man" CACHE PATH "Installation directory for manual pages") -set(INSTALL_PKGCONFIG_DIR "${CMAKE_INSTALL_PREFIX}/share/pkgconfig" CACHE PATH "Installation directory for pkgconfig (.pc) files") - -include(CheckTypeSize) -include(CheckFunctionExists) -include(CheckIncludeFile) -include(CheckCSourceCompiles) -enable_testing() - -check_include_file(sys/types.h HAVE_SYS_TYPES_H) -check_include_file(stdint.h HAVE_STDINT_H) -check_include_file(stddef.h HAVE_STDDEF_H) - -# -# Check to see if we have large file support -# -set(CMAKE_REQUIRED_DEFINITIONS -D_LARGEFILE64_SOURCE=1) -# We add these other definitions here because CheckTypeSize.cmake -# in CMake 2.4.x does not automatically do so and we want -# compatibility with CMake 2.4.x. -if(HAVE_SYS_TYPES_H) - list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_SYS_TYPES_H) -endif() -if(HAVE_STDINT_H) - list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_STDINT_H) -endif() -if(HAVE_STDDEF_H) - list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_STDDEF_H) -endif() -check_type_size(off64_t OFF64_T) -if(HAVE_OFF64_T) - add_definitions(-D_LARGEFILE64_SOURCE=1) -endif() -set(CMAKE_REQUIRED_DEFINITIONS) # clear variable - -# -# Check for fseeko -# -check_function_exists(fseeko HAVE_FSEEKO) -if(NOT HAVE_FSEEKO) - add_definitions(-DNO_FSEEKO) -endif() - -# -# Check for unistd.h -# -check_include_file(unistd.h Z_HAVE_UNISTD_H) - -if(MSVC) - set(CMAKE_DEBUG_POSTFIX "d") - add_definitions(-D_CRT_SECURE_NO_DEPRECATE) - add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE) - include_directories(${CMAKE_CURRENT_SOURCE_DIR}) -endif() - -if(NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR) - # If we're doing an out of source build and the user has a zconf.h - # in their source tree... - if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h) - message(STATUS "Renaming") - message(STATUS " ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h") - message(STATUS "to 'zconf.h.included' because this file is included with zlib") - message(STATUS "but CMake generates it automatically in the build directory.") - file(RENAME ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.included) - endif() -endif() - -set(ZLIB_PC ${CMAKE_CURRENT_BINARY_DIR}/zlib.pc) -configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/zlib.pc.cmakein - ${ZLIB_PC} @ONLY) -configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.cmakein - ${CMAKE_CURRENT_BINARY_DIR}/zconf.h @ONLY) -include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}) - - -#============================================================================ -# zlib -#============================================================================ - -set(ZLIB_PUBLIC_HDRS - ${CMAKE_CURRENT_BINARY_DIR}/zconf.h - zlib.h -) -set(ZLIB_PRIVATE_HDRS - crc32.h - deflate.h - gzguts.h - inffast.h - inffixed.h - inflate.h - inftrees.h - trees.h - zutil.h -) -set(ZLIB_SRCS - adler32.c - compress.c - crc32.c - deflate.c - gzclose.c - gzlib.c - gzread.c - gzwrite.c - inflate.c - infback.c - inftrees.c - inffast.c - trees.c - uncompr.c - zutil.c -) - -if(NOT MINGW) - set(ZLIB_DLL_SRCS - win32/zlib1.rc # If present will override custom build rule below. - ) -endif() - -if(CMAKE_COMPILER_IS_GNUCC) - if(ASM686) - set(ZLIB_ASMS contrib/asm686/match.S) - elseif (AMD64) - set(ZLIB_ASMS contrib/amd64/amd64-match.S) - endif () - - if(ZLIB_ASMS) - add_definitions(-DASMV) - set_source_files_properties(${ZLIB_ASMS} PROPERTIES LANGUAGE C COMPILE_FLAGS -DNO_UNDERLINE) - endif() -endif() - -if(MSVC) - if(ASM686) - ENABLE_LANGUAGE(ASM_MASM) - set(ZLIB_ASMS - contrib/masmx86/inffas32.asm - contrib/masmx86/match686.asm - ) - elseif (AMD64) - ENABLE_LANGUAGE(ASM_MASM) - set(ZLIB_ASMS - contrib/masmx64/gvmat64.asm - contrib/masmx64/inffasx64.asm - ) - endif() - - if(ZLIB_ASMS) - add_definitions(-DASMV -DASMINF) - endif() -endif() - -# parse the full version number from zlib.h and include in ZLIB_FULL_VERSION -file(READ ${CMAKE_CURRENT_SOURCE_DIR}/zlib.h _zlib_h_contents) -string(REGEX REPLACE ".*#define[ \t]+ZLIB_VERSION[ \t]+\"([-0-9A-Za-z.]+)\".*" - "\\1" ZLIB_FULL_VERSION ${_zlib_h_contents}) - -if(MINGW) - # This gets us DLL resource information when compiling on MinGW. - if(NOT CMAKE_RC_COMPILER) - set(CMAKE_RC_COMPILER windres.exe) - endif() - - add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj - COMMAND ${CMAKE_RC_COMPILER} - -D GCC_WINDRES - -I ${CMAKE_CURRENT_SOURCE_DIR} - -I ${CMAKE_CURRENT_BINARY_DIR} - -o ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj - -i ${CMAKE_CURRENT_SOURCE_DIR}/win32/zlib1.rc) - set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj) -endif(MINGW) - -add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) -add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) -set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL) -set_target_properties(zlib PROPERTIES SOVERSION 1) - -if(NOT CYGWIN) - # This property causes shared libraries on Linux to have the full version - # encoded into their final filename. We disable this on Cygwin because - # it causes cygz-${ZLIB_FULL_VERSION}.dll to be created when cygz.dll - # seems to be the default. - # - # This has no effect with MSVC, on that platform the version info for - # the DLL comes from the resource file win32/zlib1.rc - set_target_properties(zlib PROPERTIES VERSION ${ZLIB_FULL_VERSION}) -endif() - -if(UNIX) - # On unix-like platforms the library is almost always called libz - set_target_properties(zlib zlibstatic PROPERTIES OUTPUT_NAME z) - if(NOT APPLE) - set_target_properties(zlib PROPERTIES LINK_FLAGS "-Wl,--version-script,\"${CMAKE_CURRENT_SOURCE_DIR}/zlib.map\"") - endif() -elseif(BUILD_SHARED_LIBS AND WIN32) - # Creates zlib1.dll when building shared library version - set_target_properties(zlib PROPERTIES SUFFIX "1.dll") -endif() - -if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL ) - install(TARGETS zlib zlibstatic - RUNTIME DESTINATION "${INSTALL_BIN_DIR}" - ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" - LIBRARY DESTINATION "${INSTALL_LIB_DIR}" ) -endif() -if(NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL ) - install(FILES ${ZLIB_PUBLIC_HDRS} DESTINATION "${INSTALL_INC_DIR}") -endif() -if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL ) - install(FILES zlib.3 DESTINATION "${INSTALL_MAN_DIR}/man3") -endif() -if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL ) - install(FILES ${ZLIB_PC} DESTINATION "${INSTALL_PKGCONFIG_DIR}") -endif() - -#============================================================================ -# Example binaries -#============================================================================ - -add_executable(example test/example.c) -target_link_libraries(example zlib) -add_test(example example) - -add_executable(minigzip test/minigzip.c) -target_link_libraries(minigzip zlib) - -if(HAVE_OFF64_T) - add_executable(example64 test/example.c) - target_link_libraries(example64 zlib) - set_target_properties(example64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64") - add_test(example64 example64) - - add_executable(minigzip64 test/minigzip.c) - target_link_libraries(minigzip64 zlib) - set_target_properties(minigzip64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64") -endif() diff --git a/CMakeLists.txt b/CMakeLists.txt index 3a8a768cb2..c4fe8a4fd5 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,6 +20,8 @@ if (APPLE) endif () endif () +project(ArangoDB) + if (NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE string @@ -28,8 +30,6 @@ if (NOT CMAKE_BUILD_TYPE) ) endif () -project(ArangoDB) - # where to find CMAKE modules set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake) @@ -509,6 +509,16 @@ include(ArangoDBMacros) ## SUB-PROJECTS ################################################################################ +list(INSERT SYSTEM_LIBRARIES 0 + ${BT_LIBS} + ${ZLIB_LIBS} + ${OPENSSL_LIBRARIES} + ${ICU_LIBS} + ${V8_LIBS} + ${CMAKE_THREAD_LIBS_INIT} + ${CMAKE_DL_LIBS} +) + add_subdirectory(lib) add_subdirectory(arangosh) add_subdirectory(arangod) diff --git a/UnitTests/CMakeLists.txt b/UnitTests/CMakeLists.txt index 34ee0318cd..fa73b39f7d 100644 --- a/UnitTests/CMakeLists.txt +++ b/UnitTests/CMakeLists.txt @@ -38,12 +38,7 @@ if (USE_BOOST_UNITTESTS) target_link_libraries(${TEST_BASICS_SUITE} ${LIB_ARANGO} - ${ICU_LIBS} - ${OPENSSL_LIBRARIES} - ${ZLIB_LIBS} ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY} - ${CMAKE_THREAD_LIBS_INIT} - ${CMAKE_DL_LIBS} ${SYSTEM_LIBRARIES} ) endif () @@ -62,13 +57,8 @@ if (USE_BOOST_UNITTESTS) target_link_libraries(${TEST_GEO_SUITE} ${LIB_ARANGO} - ${ICU_LIBS} - ${OPENSSL_LIBRARIES} - ${ZLIB_LIBS} ${Boost_LIBRARIES} ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY} - ${CMAKE_THREAD_LIBS_INIT} - ${CMAKE_DL_LIBS} ${SYSTEM_LIBRARIES} ) endif () diff --git a/arangod/CMakeLists.txt b/arangod/CMakeLists.txt index 331d2ee081..fc30c03535 100644 --- a/arangod/CMakeLists.txt +++ b/arangod/CMakeLists.txt @@ -298,15 +298,8 @@ target_link_libraries(${BIN_ARANGOD} ${LIB_ARANGO_V8} ${LIB_ARANGO} ${LIBEV_LIBS} - ${V8_LIBS} - ${ICU_LIBS} - ${BT_LIBS} - ${ZLIB_LIBS} ${LINENOISE_LIBS} - ${OPENSSL_LIBRARIES} ${MSVC_LIBS} - ${CMAKE_THREAD_LIBS_INIT} - ${CMAKE_DL_LIBS} ${SYSTEM_LIBRARIES} ) diff --git a/arangosh/CMakeLists.txt b/arangosh/CMakeLists.txt index 51816b4b8a..66f13bc7b6 100644 --- a/arangosh/CMakeLists.txt +++ b/arangosh/CMakeLists.txt @@ -29,14 +29,8 @@ add_executable(${BIN_ARANGOB} target_link_libraries(${BIN_ARANGOB} ${LIB_ARANGO} - ${BT_LIBS} - ${ZLIB_LIBS} ${LINENOISE_LIBS} - ${OPENSSL_LIBRARIES} ${MSVC_LIBS} - ${ICU_LIBS} - ${CMAKE_THREAD_LIBS_INIT} - ${CMAKE_DL_LIBS} ${SYSTEM_LIBRARIES} ) @@ -71,15 +65,9 @@ add_executable(${BIN_ARANGODUMP} target_link_libraries(${BIN_ARANGODUMP} ${LIB_ARANGO} - ${ICU_LIBS} - ${BT_LIBS} - ${ZLIB_LIBS} ${LINENOISE_LIBS} - ${OPENSSL_LIBRARIES} ${MSVC_LIBS} - ${CMAKE_THREAD_LIBS_INIT} ${SYSTEM_LIBRARIES} - ${CMAKE_DL_LIBS} ) install( @@ -113,15 +101,8 @@ add_executable(${BIN_ARANGOIMP} ) target_link_libraries(${BIN_ARANGOIMP} ${LIB_ARANGO} - ${ICU_LIBS} - ${V8_LIBS} - ${BT_LIBS} - ${ZLIB_LIBS} ${LINENOISE_LIBS} - ${OPENSSL_LIBRARIES} ${MSVC_LIBS} - ${CMAKE_THREAD_LIBS_INIT} - ${CMAKE_DL_LIBS} ${SYSTEM_LIBRARIES} ) @@ -156,15 +137,8 @@ add_executable(${BIN_ARANGORESTORE} target_link_libraries(${BIN_ARANGORESTORE} ${LIB_ARANGO} - ${ICU_LIBS} - ${V8_LIBS} - ${BT_LIBS} - ${ZLIB_LIBS} ${LINENOISE_LIBS} - ${OPENSSL_LIBRARIES} ${MSVC_LIBS} - ${CMAKE_THREAD_LIBS_INIT} - ${CMAKE_DL_LIBS} ${SYSTEM_LIBRARIES} ) @@ -202,15 +176,8 @@ add_executable(${BIN_ARANGOSH} target_link_libraries(${BIN_ARANGOSH} ${LIB_ARANGO_V8} ${LIB_ARANGO} - ${V8_LIBS} - ${ICU_LIBS} - ${BT_LIBS} - ${ZLIB_LIBS} ${LINENOISE_LIBS} - ${OPENSSL_LIBRARIES} ${MSVC_LIBS} - ${CMAKE_THREAD_LIBS_INIT} - ${CMAKE_DL_LIBS} ${SYSTEM_LIBRARIES} )