mirror of https://gitee.com/bigwinds/arangodb
moved to CMAKE
This commit is contained in:
parent
347903f393
commit
3ed64c8e53
|
@ -37,165 +37,137 @@ endif ()
|
||||||
## ZLIB
|
## ZLIB
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
if (UNIX)
|
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/zlib-1.2.7)
|
||||||
ExternalProject_Add(zlib_build
|
|
||||||
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/zlib-1.2.7
|
|
||||||
BUILD_IN_SOURCE 1
|
|
||||||
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/zlib
|
|
||||||
CONFIGURE_COMMAND CC=${CMAKE_C_COMPILER} ./configure --prefix=${CMAKE_CURRENT_BINARY_DIR}/zlib --static
|
|
||||||
INSTALL_COMMAND ""
|
|
||||||
UPDATE_COMMAND ""
|
|
||||||
)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
import_target(zlib zlib_build
|
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/libev"
|
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/libev/.libs/libev.a"
|
|
||||||
)
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
## EV
|
## EV
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
if (UNIX)
|
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/libev)
|
||||||
ExternalProject_Add(ev_build
|
|
||||||
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 ${THIRDP_BUILDFLAGS}
|
|
||||||
INSTALL_COMMAND ""
|
|
||||||
UPDATE_COMMAND ""
|
|
||||||
)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
import_target(ev ev_build
|
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/libev"
|
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/libev/.libs/libev.a"
|
|
||||||
)
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
## V8 and ICU
|
## V8 and ICU
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
set(V8_DIR "${CMAKE_CURRENT_SOURCE_DIR}/V8-4.3.61")
|
# set(V8_DIR "${CMAKE_CURRENT_SOURCE_DIR}/V8-4.3.61")
|
||||||
# doesn't work?
|
# # doesn't work?
|
||||||
set(V8_TARGET_DIR "${CMAKE_CURRENT_BINARY_DIR}/v8")
|
# set(V8_TARGET_DIR "${CMAKE_CURRENT_BINARY_DIR}/v8")
|
||||||
#set(V8_TARGET_DIR "out")
|
# #set(V8_TARGET_DIR "out")
|
||||||
|
|
||||||
|
|
||||||
if ("${HOST_BITS}" STREQUAL "64")
|
# if ("${HOST_BITS}" STREQUAL "64")
|
||||||
set(TARGET_ARCH "x64")
|
# set(TARGET_ARCH "x64")
|
||||||
else()
|
# else()
|
||||||
message(ERROR "WHAT THE FUCK!")
|
# message(ERROR "WHAT THE FUCK!")
|
||||||
set(TARGET_ARCH "ia32")
|
# set(TARGET_ARCH "ia32")
|
||||||
endif() # TODO: ARM? Win32?
|
# endif() # TODO: ARM? Win32?
|
||||||
|
|
||||||
if(DEBUG)
|
# if(DEBUG)
|
||||||
list(APPEND V8_GYP_ARGS -Dv8_enable_backtrace=1)
|
# list(APPEND V8_GYP_ARGS -Dv8_enable_backtrace=1)
|
||||||
set(V8_TARGET_ARCH "${TARGET_ARCH}.debug")
|
# set(V8_TARGET_ARCH "${TARGET_ARCH}.debug")
|
||||||
else()
|
# else()
|
||||||
set(V8_TARGET_ARCH "${TARGET_ARCH}.release")
|
# set(V8_TARGET_ARCH "${TARGET_ARCH}.release")
|
||||||
endif()
|
# endif()
|
||||||
|
|
||||||
|
|
||||||
list(APPEND V8_GYP_ARGS build/gyp/gyp_main.py --generator-output=${V8_TARGET_DIR} build/all.gyp)
|
# list(APPEND V8_GYP_ARGS build/gyp/gyp_main.py --generator-output=${V8_TARGET_DIR} build/all.gyp)
|
||||||
|
|
||||||
|
|
||||||
if(WIN32)
|
# if(WIN32)
|
||||||
# TODO: get this from the main configure paramentrisation
|
# # TODO: get this from the main configure paramentrisation
|
||||||
# CMAKE_BUILD_TYPE:STRING=RelWithDebInfo
|
# # CMAKE_BUILD_TYPE:STRING=RelWithDebInfo
|
||||||
# -G\ msvs_version=2013
|
# # -G\ msvs_version=2013
|
||||||
# -Dtarget_arch=x64
|
# # -Dtarget_arch=x64
|
||||||
# -Dmode=release
|
# # -Dmode=release
|
||||||
list(APPEND V8_GYP_ARGS -Dcomponent=static_library -Dlibrary=static_library)
|
# list(APPEND V8_GYP_ARGS -Dcomponent=static_library -Dlibrary=static_library)
|
||||||
else()
|
# else()
|
||||||
# -Dwerror='' breaks shit... rather... -Dwerror=
|
# # -Dwerror='' breaks shit... rather... -Dwerror=
|
||||||
list(APPEND V8_GYP_ARGS -Ibuild/standalone.gypi --depth=. -Dstandalone_static_library=1 -Dlinux_use_bundled_gold=0 -Dlinux_use_gold_flags=0-Dv8_no_strict_aliasing=1)
|
# list(APPEND V8_GYP_ARGS -Ibuild/standalone.gypi --depth=. -Dstandalone_static_library=1 -Dlinux_use_bundled_gold=0 -Dlinux_use_gold_flags=0-Dv8_no_strict_aliasing=1)
|
||||||
endif()
|
# endif()
|
||||||
|
|
||||||
|
|
||||||
list(APPEND V8_GYP_ARGS -Dv8_target_arch=${TARGET_ARCH} -S.${V8_TARGET_ARCH})
|
# list(APPEND V8_GYP_ARGS -Dv8_target_arch=${TARGET_ARCH} -S.${V8_TARGET_ARCH})
|
||||||
|
|
||||||
if (UNIX)
|
# if (UNIX)
|
||||||
set(V8_PLATFORM "native")
|
# set(V8_PLATFORM "native")
|
||||||
set(V8_BIN_DIR "${V8_DIR}/out/${V8_PLATFORM}")
|
# set(V8_BIN_DIR "${V8_DIR}/out/${V8_PLATFORM}")
|
||||||
set(ICU_BIN_DIR "${V8_BIN_DIR}")
|
# 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(V8_BIN_DIR "${V8_BIN_DIR}/obj.target/tools/gyp")
|
||||||
set(ICU_BIN_DIR "${ICU_BIN_DIR}/obj.target/third_party/icu")
|
# set(ICU_BIN_DIR "${ICU_BIN_DIR}/obj.target/third_party/icu")
|
||||||
endif ()
|
# endif ()
|
||||||
else ()
|
# else ()
|
||||||
message(ERROR "Not implemented for your OS")
|
# message(ERROR "Not implemented for your OS")
|
||||||
endif ()
|
# endif ()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
include(ExternalProject)
|
# include(ExternalProject)
|
||||||
set (V8_BUILD_COMMAND $(MAKE) -f Makefile-v8 strictaliasing=off
|
# set (V8_BUILD_COMMAND $(MAKE) -f Makefile-v8 strictaliasing=off
|
||||||
snapshot=off werror=no "${V8_PLATFORM}" CC="${CMAKE_C_COMPILER}"
|
# snapshot=off werror=no "${V8_PLATFORM}" CC="${CMAKE_C_COMPILER}"
|
||||||
CXX="${CMAKE_CXX_COMPILER}" PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}
|
# CXX="${CMAKE_CXX_COMPILER}" PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}
|
||||||
CXXFLAGS=${CMAKE_CXX_FLAGS})
|
# CXXFLAGS=${CMAKE_CXX_FLAGS})
|
||||||
if (APPLE AND CMAKE_COMPILER_IS_CLANG)
|
# if (APPLE AND CMAKE_COMPILER_IS_CLANG)
|
||||||
set(V8_BUILD_COMMAND ${V8_BUILD_COMMAND} LDFLAGS=-stdlib=libc++ CXXFLAGS=-stdlib=libc++)
|
# set(V8_BUILD_COMMAND ${V8_BUILD_COMMAND} LDFLAGS=-stdlib=libc++ CXXFLAGS=-stdlib=libc++)
|
||||||
endif ()
|
# endif ()
|
||||||
|
|
||||||
set (V8_COMPILE_ARGS -C ${V8_TARGET_DIR} -f Makefile.${V8_TARGET_ARCH} BUILDTYPE=Release builddir=${V8_TARGET_DIR}/${V8_TARGET_ARCH} VERBOSE=1 V=1 CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER})
|
# set (V8_COMPILE_ARGS -C ${V8_TARGET_DIR} -f Makefile.${V8_TARGET_ARCH} BUILDTYPE=Release builddir=${V8_TARGET_DIR}/${V8_TARGET_ARCH} VERBOSE=1 V=1 CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER})
|
||||||
|
|
||||||
#set(RUN_V8_GYP "PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE};\ ${PYTHON_EXECUTABLE}")
|
# #set(RUN_V8_GYP "PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE};\ ${PYTHON_EXECUTABLE}")
|
||||||
set(RUN_V8_GYP "${PYTHON_EXECUTABLE}")
|
# set(RUN_V8_GYP "${PYTHON_EXECUTABLE}")
|
||||||
|
|
||||||
#--------------------------------------------------------------------------------
|
# #--------------------------------------------------------------------------------
|
||||||
get_cmake_property(_variableNames VARIABLES)
|
# get_cmake_property(_variableNames VARIABLES)
|
||||||
foreach (_variableName ${_variableNames})
|
# foreach (_variableName ${_variableNames})
|
||||||
message(STATUS "${_variableName}=${${_variableName}}")
|
# message(STATUS "${_variableName}=${${_variableName}}")
|
||||||
endforeach ()
|
# endforeach ()
|
||||||
#--------------------------------------------------------------------------------
|
# #--------------------------------------------------------------------------------
|
||||||
|
|
||||||
if (NOT USE_PRECOMPILED_V8)
|
# if (NOT USE_PRECOMPILED_V8)
|
||||||
ExternalProject_Add(v8_build
|
# ExternalProject_Add(v8_build
|
||||||
BUILD_IN_SOURCE TRUE
|
# BUILD_IN_SOURCE TRUE
|
||||||
SOURCE_DIR "${V8_DIR}"
|
# SOURCE_DIR "${V8_DIR}"
|
||||||
CONFIGURE_COMMAND ${RUN_V8_GYP} ${V8_GYP_ARGS}
|
# CONFIGURE_COMMAND ${RUN_V8_GYP} ${V8_GYP_ARGS}
|
||||||
BUILD_COMMAND ${MAKE} ${V8_COMPILE_ARGS}
|
# BUILD_COMMAND ${MAKE} ${V8_COMPILE_ARGS}
|
||||||
INSTALL_COMMAND "")
|
# INSTALL_COMMAND "")
|
||||||
endif ()
|
# endif ()
|
||||||
|
|
||||||
import_target(v8_base v8_build
|
# import_target(v8_base v8_build
|
||||||
"${V8_DIR}/include"
|
# "${V8_DIR}/include"
|
||||||
"${V8_BIN_DIR}/libv8_base.a"
|
# "${V8_BIN_DIR}/libv8_base.a"
|
||||||
)
|
# )
|
||||||
|
|
||||||
import_target(v8_libbase v8_build
|
# import_target(v8_libbase v8_build
|
||||||
"${V8_DIR}/include"
|
# "${V8_DIR}/include"
|
||||||
"${V8_BIN_DIR}/libv8_libbase.a"
|
# "${V8_BIN_DIR}/libv8_libbase.a"
|
||||||
)
|
# )
|
||||||
|
|
||||||
import_target(v8_libplatform v8_build
|
# import_target(v8_libplatform v8_build
|
||||||
"${V8_DIR}/include"
|
# "${V8_DIR}/include"
|
||||||
"${V8_BIN_DIR}/libv8_libplatform.a"
|
# "${V8_BIN_DIR}/libv8_libplatform.a"
|
||||||
)
|
# )
|
||||||
|
|
||||||
import_target(v8_nosnapshot v8_build
|
# import_target(v8_nosnapshot v8_build
|
||||||
"${V8_DIR}/include"
|
# "${V8_DIR}/include"
|
||||||
"${V8_BIN_DIR}/libv8_nosnapshot.a"
|
# "${V8_BIN_DIR}/libv8_nosnapshot.a"
|
||||||
)
|
# )
|
||||||
|
|
||||||
import_target(v8_snapshot v8_build
|
# import_target(v8_snapshot v8_build
|
||||||
"${V8_DIR}/include"
|
# "${V8_DIR}/include"
|
||||||
"${V8_BIN_DIR}/libv8_snapshot.a"
|
# "${V8_BIN_DIR}/libv8_snapshot.a"
|
||||||
)
|
# )
|
||||||
|
|
||||||
import_target(icu_uc v8_build
|
# 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"
|
# "${V8_DIR}/third_party/icu/source/common;${V8_DIR}/third_party/icu/source/io;${V8_DIR}/third_party/icu/source/i18n"
|
||||||
"${ICU_BIN_DIR}/libicuuc.a"
|
# "${ICU_BIN_DIR}/libicuuc.a"
|
||||||
)
|
# )
|
||||||
|
|
||||||
import_target(icu_data 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"
|
# "${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"
|
# "${ICU_BIN_DIR}/libicudata.a"
|
||||||
)
|
# )
|
||||||
|
|
||||||
import_target(icu_i18n v8_build
|
# 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"
|
# "${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"
|
# "${ICU_BIN_DIR}/libicui18n.a"
|
||||||
)
|
# )
|
||||||
|
|
Loading…
Reference in New Issue