Clean up cmake build (#98)

* remove deprecated build options
* remove unnecessary quote symbols to improve readability

Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
This commit is contained in:
Hyukwoo Park 2019-02-21 16:47:33 +09:00 committed by yichoi
commit d60fc706fd
3 changed files with 164 additions and 294 deletions

View file

@ -14,9 +14,7 @@ SET (ESCARGOT_TYPE "interpreter" CACHE STRING "ESCARGOT_TYPE")
SET (ESCARGOT_TARGET escargot)
#SET (REACT_NATIVE) #TODO
#SET (LTO) #TODO
#SET (VENDORTEST) #TODO
SET (VENDORTEST FALSE CACHE BOOL "VENDORTEST")
INCLUDE (ProcessorCount)
PROCESSORCOUNT (NPROCS)

View file

@ -17,62 +17,23 @@ ELSEIF (${ESCARGOT_HOST} STREQUAL "darwin")
SET (ARFLAGS)
ELSEIF (${ESCARGOT_HOST} STREQUAL "android")
SET (COMPILER_PREFIX "arm-linux-androideabi")
SET (COMPILER_PREFIX arm-linux-androideabi)
SET (CMAKE_C_COMPILER ${ANDROID_NDK_STANDALONE}/bin/${COMPILER_PREFIX}-gcc)
SET (CMAKE_CXX_COMPILER ${ANDROID_NDK_STANDALONE}/bin/${COMPILER_PREFIX}-g++)
SET (LINK ${ANDROID_NDK_STANDALONE}/bin/${COMPILER_PREFIX}-g++)
SET (LD ${ANDROID_NDK_STANDALONE}/bin/${COMPILER_PREFIX}-ld)
SET (AR ${ANDROID_NDK_STANDALONE}/bin/${COMPILER_PREFIX}-ar)
SET (ESCARGOT_CXXFLAGS_CONFIG "--sysroot=${ANDROID_NDK_STANDALONE}/sysroot")
SET (ESCARGOT_LDFLAGS_CONFIG "--sysroot=${ANDROID_NDK_STANDALONE}/sysroot")
SET (ESCARGOT_CXXFLAGS_CONFIG --sysroot=${ANDROID_NDK_STANDALONE}/sysroot)
SET (ESCARGOT_LDFLAGS_CONFIG --sysroot=${ANDROID_NDK_STANDALONE}/sysroot)
SET (ARFLAGS)
ELSEIF (${ESCARGOT_HOST} STREQUAL "tizen_obs")
SET (CMAKE_C_COMPILER gcc)
SET (CMAKE_CXX_COMPILER g++)
IF ("${LTO}" EQUAL 1)
#TODO
SET (ARFLAGS "--plugin=/usr/lib/bfd-plugins/liblto_plugin.so")
ELSE()
SET (ARFLAGS)
ENDIF()
ELSEIF (${ESCARGOT_HOST} MATCHES "tizen")
IF (NOT DEFINED ${TIZEN_SDK_HOME})
MESSAGE (FATAL_ERROR "TIZEN_SDK_HOME must be set")
ENDIF()
IF (${ESCARGOT_HOST} MATCHES "mobile")
IF (${ESCARGOT_ARCH} STREQUAL "arm")
SET (TIZEN_SYSROOT "${TIZEN_SDK_HOME}/platforms/tizen-${TIZEN_VERSION}/mobile/rootstraps/mobile-${TIZEN_VERSION}-device.core")
ELSEIF (${ESCARGOT_ARCH} STREQUAL "i386")
SET (TIZEN_SYSROOT "${TIZEN_SDK_HOME}/platforms/tizen-${TIZEN_VERSION}/mobile/rootstraps/mobile-${TIZEN_VERSION}-emulator.core")
ENDIF()
ELSEIF (${ESCARGOT_HOST} MATCHES "wearable")
IF (${ESCARGOT_ARCH} STREQUAL "arm")
SET (TIZEN_SYSROOT "${TIZEN_SDK_HOME}/platforms/tizen-${TIZEN_VERSION}/wearable/rootstraps/wearable-${TIZEN_VERSION}-device.core")
ELSEIF (${ESCARGOT_ARCH} STREQUAL "i386")
SET (TIZEN_SYSROOT "${TIZEN_SDK_HOME}/platforms/tizen-${TIZEN_VERSION}/wearable/rootstraps/wearable-${TIZEN_VERSION}-emulator.core")
ENDIF()
ENDIF()
SET (COMPILER_PREFIX "${ESCARGOT_ARCH}-linux-gnueabi")
SET (CMAKE_C_COMPILER ${TIZEN_SDK_HOME}/tools/${COMPILER_PREFIX}-gcc-4.6/bin/${COMPILER_PREFIX}-gcc)
SET (CMAKE_CXX_COMPILER ${TIZEN_SDK_HOME}/tools/${COMPILER_PREFIX}-gcc-4.6/bin/${COMPILER_PREFIX}-g++)
SET (LINK ${TIZEN_SDK_HOME}/tools/${COMPILER_PREFIX}-gcc-4.6/bin/${COMPILER_PREFIX}-g++)
SET (LD ${TIZEN_SDK_HOME}/tools/${COMPILER_PREFIX}-gcc-4.6/bin/${COMPILER_PREFIX}-ld)
IF (${LTO} EQUAL 1)
SET (AR ${TIZEN_SDK_HOME}/tools/${COMPILER_PREFIX}-gcc-4.6/bin/${COMPILER_PREFIX}-gcc-ar)
#TODO
SET (ARFLAGS "--plugin=${TIZEN_SDK_HOME}/tools/${COMPILER_PREFIX}-gcc-4.6/libexec/gcc/${COMPILER_PREFIX}/4.6.4/liblto_plugin.so")
ELSE()
SET (AR ${TIZEN_SDK_HOME}/tools/${COMPILER_PREFIX}-gcc-4.6/bin/${COMPILER_PREFIX}-ar)
SET (ARFLAGS)
ENDIF()
SET (ESCARGOT_CXXFLAGS_CONFIG "--sysroot=${TIZEN_SYSROOT}")
SET (ESCARGOT_LDFLAGS_CONFIG "--sysroot=${TIZEN_SYSROOT}")
SET (ARFLAGS)
ELSE()
MESSAGE (FATAL_ERROR "Unsupported Host" )
ENDIF()
@ -96,288 +57,178 @@ ENDIF()
# FLAGS FOR COMMON
#######################################################
# ESCARGOT COMMON CXXFLAGS
SET (ESCARGOT_CXXFLAGS_COMMON "$ENV{CXXFLAGS}")
SET (ESCARGOT_CXXFLAGS_COMMON "${ESCARGOT_CXXFLAGS_COMMON} -DESCARGOT")
SET (ESCARGOT_CXXFLAGS_COMMON "${ESCARGOT_CXXFLAGS_COMMON} -std=c++11 -g3")
SET (ESCARGOT_CXXFLAGS_COMMON "${ESCARGOT_CXXFLAGS_COMMON} -fno-math-errno -I${ESCARGOT_ROOT}/src/")
SET (ESCARGOT_CXXFLAGS_COMMON "${ESCARGOT_CXXFLAGS_COMMON} -fdata-sections -ffunction-sections")
SET (ESCARGOT_CXXFLAGS_COMMON "${ESCARGOT_CXXFLAGS_COMMON} -fno-omit-frame-pointer")
SET (ESCARGOT_CXXFLAGS_COMMON "${ESCARGOT_CXXFLAGS_COMMON} -fvisibility=hidden")
SET (ESCARGOT_DEFINITIONS_COMMON
-DESCARGOT
-DESCARGOT_ENABLE_TYPEDARRAY
-DESCARGOT_ENABLE_PROMISE
-DESCARGOT_ENABLE_PROXY_REFLECT
)
SET (CXXFLAGS_FROM_ENV $ENV{CXXFLAGS})
SEPARATE_ARGUMENTS(CXXFLAGS_FROM_ENV)
SET (ESCARGOT_CXXFLAGS_COMMON
${CXXFLAGS_FROM_ENV}
-std=c++11 -g3
-fno-math-errno
-fdata-sections -ffunction-sections
-fno-omit-frame-pointer
-fvisibility=hidden
-Wno-unused-parameter
-Wno-type-limits -Wno-unused-result -Wno-unused-variable -Wno-invalid-offsetof
-Wno-deprecated-declarations
-Wno-implicit-fallthrough
)
IF (NOT ${ESCARGOT_HOST} STREQUAL "darwin")
SET (ESCARGOT_CXXFLAGS_COMMON "${ESCARGOT_CXXFLAGS_COMMON} -frounding-math -fsignaling-nans")
SET (ESCARGOT_CXXFLAGS_COMMON "${ESCARGOT_CXXFLAGS_COMMON} -Wno-unused-but-set-variable -Wno-unused-but-set-parameter")
SET (ESCARGOT_CXXFLAGS_COMMON ${ESCARGOT_CXXFLAGS_COMMON} -frounding-math -fsignaling-nans)
SET (ESCARGOT_CXXFLAGS_COMMON ${ESCARGOT_CXXFLAGS_COMMON} -Wno-unused-but-set-variable -Wno-unused-but-set-parameter)
ENDIF()
SET (ESCARGOT_CXXFLAGS_COMMON "${ESCARGOT_CXXFLAGS_COMMON} -Wno-unused-parameter")
SET (ESCARGOT_CXXFLAGS_COMMON "${ESCARGOT_CXXFLAGS_COMMON} -Wno-type-limits -Wno-unused-result -Wno-unused-variable -Wno-invalid-offsetof")
SET (ESCARGOT_CXXFLAGS_COMMON "${ESCARGOT_CXXFLAGS_COMMON} -Wno-deprecated-declarations")
SET (ESCARGOT_CXXFLAGS_COMMON "${ESCARGOT_CXXFLAGS_COMMON} -Wno-implicit-fallthrough")
SET (ESCARGOT_CXXFLAGS_COMMON "${ESCARGOT_CXXFLAGS_COMMON} -DESCARGOT_ENABLE_TYPEDARRAY")
SET (ESCARGOT_CXXFLAGS_COMMON "${ESCARGOT_CXXFLAGS_COMMON} -DESCARGOT_ENABLE_PROMISE")
SET (ESCARGOT_CXXFLAGS_COMMON "${ESCARGOT_CXXFLAGS_COMMON} -DESCARGOT_ENABLE_PROXY_REFLECT")
# ESCARGOT COMMON LDFLAGS
SET (ESCARGOT_LDFLAGS_COMMON "-fvisibility=hidden")
SET (ESCARGOT_LDFLAGS_COMMON -fvisibility=hidden)
# THIRD_PARTY COMMON CXXFLAGS
SET (ESCARGOT_CXXFLAGS_THIRD_PARTY)
# bdwgc
SET (ESCARGOT_CXXFLAGS_THIRD_PARTY "${ESCARGOT_CXXFLAGS_THIRD_PARTY} -I${GCUTIL_ROOT}/bdwgc/include/")
IF (${ESCARGOT_MODE} STREQUAL "debug")
SET (ESCARGOT_CXXFLAGS_THIRD_PARTY "${ESCARGOT_CXXFLAGS_THIRD_PARTY} -DGC_DEBUG")
SET (ESCARGOT_DEFINITIONS_COMMON ${ESCARGOT_DEFINITIONS_COMMON} -DGC_DEBUG)
ENDIF()
# GCutil
SET (ESCARGOT_CXXFLAGS_THIRD_PARTY "${ESCARGOT_CXXFLAGS_THIRD_PARTY} -I${GCUTIL_ROOT}/")
# checked arithmetic
SET (ESCARGOT_CXXFLAGS_THIRD_PARTY "${ESCARGOT_CXXFLAGS_THIRD_PARTY} -I${ESCARGOT_THIRD_PARTY_ROOT}/checked_arithmetic/")
# v8's fast-dtoa
SET (ESCARGOT_CXXFLAGS_THIRD_PARTY "${ESCARGOT_CXXFLAGS_THIRD_PARTY} -I${ESCARGOT_THIRD_PARTY_ROOT}/double_conversion/")
# rapidjson
SET (ESCARGOT_CXXFLAGS_THIRD_PARTY "${ESCARGOT_CXXFLAGS_THIRD_PARTY} -I${ESCARGOT_THIRD_PARTY_ROOT}/rapidjson/include/")
# yarr
SET (ESCARGOT_CXXFLAGS_THIRD_PARTY "${ESCARGOT_CXXFLAGS_THIRD_PARTY} -I${ESCARGOT_THIRD_PARTY_ROOT}/yarr/")
#######################################################
# FLAGS FOR $(ESCARGOT_HOST)
#######################################################
FIND_PACKAGE (PkgConfig REQUIRED)
# LINUX CXXFLAGS
SET (ESCARGOT_CXXFLAGS_LINUX)
SET (ESCARGOT_CXXFLAGS_LINUX "${ESCARGOT_CXXFLAGS_LINUX} -fno-rtti")
SET (ESCARGOT_CXXFLAGS_LINUX "${ESCARGOT_CXXFLAGS_LINUX} -DENABLE_ICU -DENABLE_INTL")
# LINUX LDFLAGS
SET (ESCARGOT_LDFLAGS_LINUX)
SET (ESCARGOT_LDFLAGS_LINUX "${ESCARGOT_LDFLAGS_LINUX} -lpthread -lrt")
# LINUX FLAGS
SET (ESCARGOT_CXXFLAGS_LINUX -fno-rtti)
SET (ESCARGOT_LDFLAGS_LINUX -lpthread -lrt)
SET (ESCARGOT_DEFINITIONS_LINUX -DENABLE_ICU -DENABLE_INTL)
# LINUX LIBRARIES
SET (ESCARGOT_LIBRARIES_LINUX)
SET (ESCARGOT_INCDIRS_LINUX)
IF (${ESCARGOT_ARCH} STREQUAL "x64" OR ${ESCARGOT_ARCH} STREQUAL "x86")
PKG_CHECK_MODULES (ICUI18N REQUIRED icu-i18n)
PKG_CHECK_MODULES (ICUUC REQUIRED icu-uc)
SET (ESCARGOT_LIBRARIES_LINUX ${ESCARGOT_LIBRARIES_LINUX} ${ICUI18N_LIBRARIES} ${ICUUC_LIBRARIES})
SET (ESCARGOT_INCDIRS_LINUX "${ESCARGOT_INCDIRS_LINUX} ${ICUI18N_INCLUDE_DIRS} ${ICUUC_INCLUDE_DIRS}")
SET (ESCARGOT_CXXFLAGS_LINUX "${ESCARGOT_CXXFLAGS_LINUX} ${ICUI18N_CFLAGS_OTHER} ${ICUUC_CFLAGS_OTHER}")
SET (ESCARGOT_INCDIRS_LINUX ${ESCARGOT_INCDIRS_LINUX} ${ICUI18N_INCLUDE_DIRS} ${ICUUC_INCLUDE_DIRS})
SET (ESCARGOT_CXXFLAGS_LINUX ${ESCARGOT_CXXFLAGS_LINUX} ${ICUI18N_CFLAGS_OTHER} ${ICUUC_CFLAGS_OTHER})
ENDIF()
# DARWIN CXXFLAGS
SET (ESCARGOT_CXXFLAGS_DARWIN)
SET (ESCARGOT_CXXFLAGS_DARWIN "${ESCARGOT_CXXFLAGS_DARWIN} -fno-rtti")
SET (ESCARGOT_CXXFLAGS_DARWIN "${ESCARGOT_CXXFLAGS_DARWIN} -DENABLE_ICU -DENABLE_INTL")
# DARWIN LDFLAGS
SET (ESCARGOT_LDFLAGS_DARWIN)
SET (ESCARGOT_LDFLAGS_DARWIN "${ESCARGOT_LDFLAGS_DARWIN} -lpthread")
# DARWIN FLAGS
SET (ESCARGOT_CXXFLAGS_DARWIN -fno-rtti)
SET (ESCARGOT_LDFLAGS_DARWIN -lpthread)
SET (ESCARGOT_DEFINITIONS_DARWIN -DENABLE_ICU -DENABLE_INTL)
# DARWIN LIBRARIES
SET (ESCARGOT_LIBRARIES_DARWIN)
SET (ESCARGOT_INCDIRS_DARWIN)
IF (${ESCARGOT_ARCH} STREQUAL "x64")
PKG_CHECK_MODULES (ICUI18N REQUIRED icu-i18n)
PKG_CHECK_MODULES (ICUUC REQUIRED icu-uc)
FOREACH (ICU_LDFLAG ${ICUI18N_LDFLAGS} ${ICUUC_LDFLAGS})
SET (ESCARGOT_LDFLAGS_DARWIN "${ESCARGOT_LDFLAGS_DARWIN} ${ICU_LDFLAG}")
SET (ESCARGOT_LDFLAGS_DARWIN ${ESCARGOT_LDFLAGS_DARWIN} ${ICU_LDFLAG})
ENDFOREACH()
SET (ESCARGOT_INCDIRS_DARWIN ${ESCARGOT_INCDIRS_DARWIN} ${ICUI18N_INCLUDE_DIRS} ${ICUUC_INCLUDE_DIRS})
SET (ESCARGOT_CXXFLAGS_DARWIN "${ESCARGOT_CXXFLAGS_DARWIN} ${ICUI18N_CFLAGS_OTHER} ${ICUUC_CFLAGS_OTHER}")
SET (ESCARGOT_CXXFLAGS_DARWIN ${ESCARGOT_CXXFLAGS_DARWIN} ${ICUI18N_CFLAGS_OTHER} ${ICUUC_CFLAGS_OTHER})
ENDIF()
# TIZEN CXXFLAGS
# TIZEN FLAGS
SET (ESCARGOT_CXXFLAGS_TIZEN)
SET (ESCARGOT_CXXFLAGS_TIZEN "${ESCARGOT_CXXFLAGS_TIZEN} -DESCARGOT_SMALL_CONFIG=1 -DESCARGOT_TIZEN")
IF (${ESCARGOT_HOST} STREQUAL "tizen_obs")
SET (ESCARGOT_CXXFLAGS_TIZEN "${ESCARGOT_CXXFLAGS_TIZEN} -DENABLE_ICU -DENABLE_INTL")
ELSEIF (${ESCARGOT_HOST} MATCHES "tizen_")
SET (ESCARGOT_CXXFLAGS_TIZEN "${ESCARGOT_CXXFLAGS_TIZEN} -DENABLE_ICU -DENABLE_INTL")
IF (${ESCARGOT_ARCH} STREQUAL "arm" OR ${ESCARGOT_ARCH} STREQUAL "i386")
SET (ESCARGOT_CXXFLAGS_TIZEN "${ESCARGOT_CXXFLAGS_TIZEN} -I${ESCARGOT_ROOT}/deps/tizen/include")
ENDIF()
ENDIF()
# TIZEN LDFLAGS
SET (ESCARGOT_LDFLAGS_TIZEN)
SET (ESCARGOT_LDFLAGS_TIZEN "${ESCARGOT_LDFLAGS_TIZEN} -lpthread -lrt")
IF (${ESCARGOT_HOST} MATCHES "tizen_" AND NOT ${ESCARGOT_HOST} STREQUAL "tizen_obs")
IF (${ESCARGOT_ARCH} STREQUAL "arm")
SET (ESCARGOT_LDFLAGS_TIZEN "${ESCARGOT_LDFLAGS_TIZEN} -Ldeps/tizen/lib/tizen-wearable-${TIZEN_VERSION}-target-arm")
SET (ESCARGOT_LDFLAGS_TIZEN "${ESCARGOT_LDFLAGS_TIZEN} -licuio -licui18n -licuuc -licudata")
ELSEIF (${ESCARGOT_ARCH} STREQUAL "i386")
SET (ESCARGOT_LDFLAGS_TIZEN "${ESCARGOT_LDFLAGS_TIZEN} -Ldeps/tizen/lib/tizen-wearable-${TIZEN_VERSION}-emulator-x86")
SET (ESCARGOT_LDFLAGS_TIZEN "${ESCARGOT_LDFLAGS_TIZEN} -licuio -licui18n -licuuc -licudata")
ENDIF()
ENDIF()
SET (ESCARGOT_LDFLAGS_TIZEN -lpthread -lrt)
SET (ESCARGOT_DEFINITIONS_TIZEN -DESCARGOT_SMALL_CONFIG=1 -DESCARGOT_TIZEN -DENABLE_ICU -DENABLE_INTL)
# TIZEN LIBRARIES
SET (ESCARGOT_LIBRARIES_TIZEN)
SET (ESCARGOT_INCDIRS_TIZEN)
IF (${ESCARGOT_HOST} STREQUAL "tizen_obs")
PKG_CHECK_MODULES (DLOG REQUIRED dlog)
PKG_CHECK_MODULES (ICUI18N REQUIRED icu-i18n)
PKG_CHECK_MODULES (ICUUC REQUIRED icu-uc)
SET (ESCARGOT_LIBRARIES_TIZEN ${ESCARGOT_LIBRARIES_TIZEN} ${DLOG_LIBRARIES} ${ICUI18N_LIBRARIES} ${ICUUC_LIBRARIES})
SET (ESCARGOT_INCDIRS_TIZEN "${ESCARGOT_INCDIRS_TIZEN} ${DLOG_INCLUDE_DIRS} ${ICUI18N_INCLUDE_DIRS} ${ICUUC_INCLUDE_DIRS}")
SET (ESCARGOT_CXXFLAGS_TIZEN "${ESCARGOT_CXXFLAGS_TIZEN} ${DLOG_CFLAGS_OTHER} ${ICUI18N_CFLAGS_OTHER} ${ICUUC_CFLAGS_OTHER}")
SET (ESCARGOT_INCDIRS_TIZEN ${ESCARGOT_INCDIRS_TIZEN} ${DLOG_INCLUDE_DIRS} ${ICUI18N_INCLUDE_DIRS} ${ICUUC_INCLUDE_DIRS})
SET (ESCARGOT_CXXFLAGS_TIZEN ${ESCARGOT_CXXFLAGS_TIZEN} ${DLOG_CFLAGS_OTHER} ${ICUI18N_CFLAGS_OTHER} ${ICUUC_CFLAGS_OTHER})
ENDIF()
# ANDROID CXXFLAGS
SET (ESCARGOT_CXXFLAGS_ANDROID)
SET (ESCARGOT_CXXFLAGS_ANDROID "${ESCARGOT_CXXFLAGS_ANDROID} -fPIE -mthumb -march=armv7-a -mfloat-abi=softfp -mfpu=neon -DANDROID=1")
IF ("${REACT_NATIVE}" EQUAL 1)
SET (ESCARGOT_CXXFLAGS_ANDROID "${ESCARGOT_CXXFLAGS_ANDROID} -UESCARGOT_ENABLE_PROMISE")
SET (ESCARGOT_CXXFLAGS_ANDROID "${ESCARGOT_CXXFLAGS_ANDROID} -frtti -std=c++11")
ENDIF()
# ANDROID LDFLAGS
SET (ESCARGOT_LDFLAGS_ANDROID)
SET (ESCARGOT_LDFLAGS_ANDROID "${ESCARGOT_LDFLAGS_ANDROID} -fPIE -pie -march=armv7-a -Wl,--fix-cortex-a8 -llog")
# ANDROID FLAGS
SET (ESCARGOT_CXXFLAGS_ANDROID -fPIE -mthumb -march=armv7-a -mfloat-abi=softfp -mfpu=neon)
SET (ESCARGOT_LDFLAGS_ANDROID -fPIE -pie -march=armv7-a -Wl,--fix-cortex-a8 -llog)
SET (ESCARGOT_DEFINITIONS_ANDROID -DANDROID=1)
IF (${ESCARGOT_OUTPUT} STREQUAL "shared_lib")
SET (ESCARGOT_LDFLAGS_ANDROID "${ESCARGOT_LDFLAGS_ANDROID} -shared")
SET (ESCARGOT_LDFLAGS_ANDROID ${ESCARGOT_LDFLAGS_ANDROID} -shared)
ENDIF()
#######################################################
# FLAGS FOR $(ARCH) : x64/x86/arm
#######################################################
# x64 CXXFLAGS
SET (ESCARGOT_CXXFLAGS_X64)
SET (ESCARGOT_CXXFLAGS_X64 "${ESCARGOT_CXXFLAGS_X64} -DESCARGOT_64=1")
# x64 FLAGS
SET (ESCARGOT_DEFINITIONS_X64 -DESCARGOT_64=1)
# x64 LDFLAGS
SET (ESCARGOT_LDFLAGS_X64)
# x86 CXXFLAGS
SET (ESCARGOT_CXXFLAGS_X86)
SET (ESCARGOT_CXXFLAGS_X86 "${ESCARGOT_CXXFLAGS_X86} -DESCARGOT_32=1")
# x86 FLAGS
IF (NOT ${ESCARGOT_HOST} STREQUAL "tizen_obs")
SET (ESCARGOT_CXXFLAGS_X86 "${ESCARGOT_CXXFLAGS_X86} -m32 -mfpmath=sse -msse -msse2")
SET (ESCARGOT_CXXFLAGS_X86 -m32 -mfpmath=sse -msse -msse2)
ENDIF()
# x86 LDFLAGS
SET (ESCARGOT_LDFLAGS_X86)
IF (NOT ${ESCARGOT_HOST} STREQUAL "tizen_obs")
SET (ESCARGOT_LDFLAGS_X86 "${ESCARGOT_LDFLAGS_X86} -m32")
SET (ESCARGOT_LDFLAGS_X86 -m32)
ENDIF()
SET (ESCARGOT_DEFINITIONS_X86 -DESCARGOT_32=1)
# arm CXXFLAGS
SET (ESCARGOT_CXXFLAGS_ARM)
SET (ESCARGOT_CXXFLAGS_ARM "${ESCARGOT_CXXFLAGS_ARM} -DESCARGOT_32=1")
# arm FLAGS
IF (NOT ${ESCARGOT_HOST} STREQUAL "tizen_obs")
SET (ESCARGOT_CXXFLAGS_ARM "${ESCARGOT_CXXFLAGS_ARM} -march=armv7-a -mthumb")
SET (ESCARGOT_CXXFLAGS_ARM -march=armv7-a -mthumb)
ENDIF()
SET (ESCARGOT_DEFINITIONS_ARM -DESCARGOT_32=1)
# arm LDFLAGS
SET (ESCARGOT_LDFLAGS_ARM)
# aarch64 CXXFLAGS
SET (ESCARGOT_CXXFLAGS_AARCH64)
SET (ESCARGOT_CXXFLAGS_AARCH64 "${ESCARGOT_CXXFLAGS_AARCH64} -DESCARGOT_64=1")
# aarch64 FLAGS
SET (ESCARGOT_DEFINITIONS_AARCH64 -DESCARGOT_64=1)
#######################################################
# flags for $(MODE) : debug/release
#######################################################
# DEBUG CXXFLAGS
SET (ESCARGOT_CXXFLAGS_DEBUG)
SET (ESCARGOT_CXXFLAGS_DEBUG "${ESCARGOT_CXXFLAGS_DEBUG} -O0 -D_GLIBCXX_DEBUG -Wall -Wextra -Werror")
# DEBUG FLAGS
SET (ESCARGOT_CXXFLAGS_DEBUG -O0 -Wall -Wextra -Werror)
IF (${ESCARGOT_HOST} STREQUAL "tizen_obs")
SET (ESCARGOT_CXXFLAGS_DEBUG "${ESCARGOT_CXXFLAGS_DEBUG} -O1")
SET (ESCARGOT_CXXFLAGS_DEBUG ${ESCARGOT_CXXFLAGS_DEBUG} -O1)
ENDIF()
SET (ESCARGOT_DEFINITIONS_DEBUG -D_GLIBCXX_DEBUG)
# DEBUG LDFLAGS
SET (ESCARGOT_LDFLAGS_DEBUG)
# RELEASE CXXFLAGS
SET (ESCARGOT_CXXFLAGS_RELEASE)
SET (ESCARGOT_CXXFLAGS_RELEASE "${ESCARGOT_CXXFLAGS_RELEASE} -O2 -DNDEBUG -fno-stack-protector")
# RELEASE FLAGS
SET (ESCARGOT_CXXFLAGS_RELEASE -O2 -fno-stack-protector)
IF (${ESCARGOT_HOST} MATCHES "tizen")
SET (ESCARGOT_CXXFLAGS_RELEASE "${ESCARGOT_CXXFLAGS_RELEASE} -Os -finline-limit=64")
SET (ESCARGOT_CXXFLAGS_RELEASE ${ESCARGOT_CXXFLAGS_RELEASE} -Os -finline-limit=64)
ENDIF()
# RELEASE LDFLAGS
SET (ESCARGOT_LDFLAGS_RELEASE)
SET (ESCARGOT_DEFINITIONS_RELEASE -DNDEBUG)
#######################################################
# FLAGS FOR $(ESCARGOT_OUTPUT) : bin/shared_lib/static_lib
#######################################################
# BIN CXXFLAGS
SET (ESCARGOT_CXXFLAGS_BIN)
SET (ESCARGOT_CXXFLAGS_BIN "${ESCARGOT_CXXFLAGS_BIN} -DESCARGOT_STANDALONE")
SET (ESCARGOT_CXXFLAGS_BIN "${ESCARGOT_CXXFLAGS_BIN} -DESCARGOT_SHELL")
# BIN LDFLAGS
SET (ESCARGOT_LDFLAGS_BIN)
# BIN FLAGS
IF (NOT ${ESCARGOT_HOST} STREQUAL "darwin")
SET (ESCARGOT_LDFLAGS_BIN "${ESCARGOT_LDFLAGS_BIN} -Wl,--gc-sections")
SET (ESCARGOT_LDFLAGS_BIN -Wl,--gc-sections)
ELSE()
SET (ESCARGOT_LDFLAGS_BIN "${ESCARGOT_LDFLAGS_BIN} -Wl,-dead_strip")
SET (ESCARGOT_LDFLAGS_BIN -Wl,-dead_strip)
ENDIF()
SET (ESCARGOT_DEFINITIONS_BIN -DESCARGOT_STANDALONE -DESCARGOT_SHELL)
# SHARED_LIB CXXFLAGS
SET (ESCARGOT_CXXFLAGS_SHAREDLIB)
SET (ESCARGOT_CXXFLAGS_SHAREDLIB "${ESCARGOT_CXXFLAGS_SHAREDLIB} -fPIC")
# SHARED_LIB FLAGS
SET (ESCARGOT_CXXFLAGS_SHAREDLIB -fPIC)
SET (ESCARGOT_LDFLAGS_SHAREDLIB -ldl)
# SHARED_LIB LDFLAGS
SET (ESCARGOT_LDFLAGS_SHAREDLIB)
SET (ESCARGOT_LDFLAGS_SHAREDLIB "${ESCARGOT_LDFLAGS_SHAREDLIB} -ldl")
# STATIC_LIB CXXFLAGS
SET (ESCARGOT_CXXFLAGS_STATICLIB)
SET (ESCARGOT_CXXFLAGS_STATICLIB "${ESCARGOT_CXXFLAGS_STATICLIB} -fPIC")
# STATIC_LIB LDFLAGS
SET (ESCARGOT_LDFLAGS_STATICLIB)
SET (ESCARGOT_LDFLAGS_STATICLIB "${ESCARGOT_LDFLAGS_STATICLIB} -Wl,--gc-sections")
#######################################################
# FLAGS FOR LTO
#######################################################
# LTO CXXFLAGS
SET (ESCARGOT_CXXFLAGS_LTO)
SET (ESCARGOT_CXXFLAGS_LTO "${ESCARGOT_CXXFLAGS_LTO} -flto -ffat-lto-objects")
# LTO LDFLAGS
SET (ESCARGOT_LDFLAGS_LTO)
SET (ESCARGOT_LDFLAGS_LTO "${ESCARGOT_LDFLAGS_LTO} -flto")
# STATIC_LIB FLAGS
SET (ESCARGOT_CXXFLAGS_STATICLIB -fPIC)
SET (ESCARGOT_LDFLAGS_STATICLIB -Wl,--gc-sections)
#######################################################
# FLAGS FOR TEST
#######################################################
SET (ESCARGOT_CXXFLAGS_VENDORTEST)
SET (ESCARGOT_CXXFLAGS_VENDORTEST "${ESCARGOT_CXXFLAGS_VENDORTEST} -DESCARGOT_ENABLE_VENDORTEST")
SET (ESCARGOT_DEFINITIONS_VENDORTEST -DESCARGOT_ENABLE_VENDORTEST)

View file

@ -1,86 +1,106 @@
CMAKE_MINIMUM_REQUIRED (VERSION 2.8)
# FLAGS
SET (ESCARGOT_CXXFLAGS)
SET (ESCARGOT_LDFLAGS)
SET (ESCARGOT_LIBRARIES)
SET (ESCARGOT_INCDIRS)
SET (ESCARGOT_CXXFLAGS
${ESCARGOT_CXXFLAGS_CONFIG}
${ESCARGOT_CXXFLAGS_COMMON}
)
SET (ESCARGOT_CXXFLAGS "${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_CONFIG}")
SET (ESCARGOT_CXXFLAGS "${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_COMMON}")
SET (ESCARGOT_CXXFLAGS "${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_THIRD_PARTY}")
SET (ESCARGOT_LDFLAGS "${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_CONFIG}")
SET (ESCARGOT_LDFLAGS "${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_COMMON}")
SET (ESCARGOT_LDFLAGS
${ESCARGOT_LDFLAGS_CONFIG}
${ESCARGOT_LDFLAGS_COMMON}
)
SET (ESCARGOT_DEFINITIONS ${ESCARGOT_DEFINITIONS_COMMON})
SET (ESCARGOT_LIBRARIES)
SET (ESCARGOT_INCDIRS
${ESCARGOT_ROOT}/src/
${GCUTIL_ROOT}/
${GCUTIL_ROOT}/bdwgc/include/
${ESCARGOT_THIRD_PARTY_ROOT}/checked_arithmetic/
${ESCARGOT_THIRD_PARTY_ROOT}/double_conversion/
${ESCARGOT_THIRD_PARTY_ROOT}/rapidjson/include/
${ESCARGOT_THIRD_PARTY_ROOT}/yarr/
)
IF (${ESCARGOT_HOST} STREQUAL "linux")
SET (ESCARGOT_CXXFLAGS "${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_LINUX}")
SET (ESCARGOT_LDFLAGS "${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_LINUX}")
SET (ESCARGOT_CXXFLAGS ${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_LINUX})
SET (ESCARGOT_LDFLAGS ${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_LINUX})
SET (ESCARGOT_DEFINITIONS ${ESCARGOT_DEFINITIONS} ${ESCARGOT_DEFINITIONS_LINUX})
SET (ESCARGOT_LIBRARIES ${ESCARGOT_LIBRARIES} ${ESCARGOT_LIBRARIES_LINUX})
SET (ESCARGOT_INCDIRS ${ESCARGOT_INCDIRS} ${ESCARGOT_INCDIRS_LINUX})
ELSEIF (${ESCARGOT_HOST} STREQUAL "darwin")
SET (ESCARGOT_CXXFLAGS "${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_DARWIN}")
SET (ESCARGOT_LDFLAGS "${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_DARWIN}")
SET (ESCARGOT_CXXFLAGS ${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_DARWIN})
SET (ESCARGOT_LDFLAGS ${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_DARWIN})
SET (ESCARGOT_DEFINITIONS ${ESCARGOT_DEFINITIONS} ${ESCARGOT_DEFINITIONS_DARWIN})
SET (ESCARGOT_LIBRARIES ${ESCARGOT_LIBRARIES} ${ESCARGOT_LIBRARIES_DARWIN})
SET (ESCARGOT_INCDIRS ${ESCARGOT_INCDIRS} ${ESCARGOT_INCDIRS_DARWIN})
ELSEIF (${ESCARGOT_HOST} MATCHES "tizen")
SET (ESCARGOT_CXXFLAGS "${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_TIZEN}")
SET (ESCARGOT_LDFLAGS "${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_TIZEN}")
SET (ESCARGOT_CXXFLAGS ${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_TIZEN})
SET (ESCARGOT_LDFLAGS ${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_TIZEN})
SET (ESCARGOT_DEFINITIONS ${ESCARGOT_DEFINITIONS} ${ESCARGOT_DEFINITIONS_TIZEN})
SET (ESCARGOT_LIBRARIES ${ESCARGOT_LIBRARIES} ${ESCARGOT_LIBRARIES_TIZEN})
SET (ESCARGOT_INCDIRS ${ESCARGOT_INCDIRS} ${ESCARGOT_INCDIRS_TIZEN})
ELSEIF (${ESCARGOT_HOST} MATCHES "android")
SET (ESCARGOT_CXXFLAGS "${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_ANDROID}")
SET (ESCARGOT_LDFLAGS "${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_ANDROID}")
SET (ESCARGOT_CXXFLAGS ${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_ANDROID})
SET (ESCARGOT_LDFLAGS ${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_ANDROID})
SET (ESCARGOT_DEFINITIONS ${ESCARGOT_DEFINITIONS} ${ESCARGOT_DEFINITIONS_ANDROID})
ENDIF()
IF (${ESCARGOT_ARCH} STREQUAL "x64")
SET (ESCARGOT_CXXFLAGS "${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_X64}")
SET (ESCARGOT_LDFLAGS "${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_X64}")
SET (ESCARGOT_CXXFLAGS ${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_X64})
SET (ESCARGOT_LDFLAGS ${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_X64})
SET (ESCARGOT_DEFINITIONS ${ESCARGOT_DEFINITIONS} ${ESCARGOT_DEFINITIONS_X64})
ELSEIF (${ESCARGOT_ARCH} STREQUAL "x86")
SET (ESCARGOT_CXXFLAGS "${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_X86}")
SET (ESCARGOT_LDFLAGS "${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_X86}")
SET (ESCARGOT_CXXFLAGS ${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_X86})
SET (ESCARGOT_LDFLAGS ${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_X86})
SET (ESCARGOT_DEFINITIONS ${ESCARGOT_DEFINITIONS} ${ESCARGOT_DEFINITIONS_X86})
ELSEIF (${ESCARGOT_ARCH} STREQUAL "i686")
SET (ESCARGOT_CXXFLAGS "${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_X86}")
SET (ESCARGOT_LDFLAGS "${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_X86}")
SET (ESCARGOT_CXXFLAGS ${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_X86})
SET (ESCARGOT_LDFLAGS ${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_X86})
SET (ESCARGOT_DEFINITIONS ${ESCARGOT_DEFINITIONS} ${ESCARGOT_DEFINITIONS_X86})
ELSEIF (${ESCARGOT_ARCH} STREQUAL "arm")
SET (ESCARGOT_CXXFLAGS "${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_ARM}")
SET (ESCARGOT_LDFLAGS "${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_ARM}")
SET (ESCARGOT_CXXFLAGS ${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_ARM})
SET (ESCARGOT_LDFLAGS ${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_ARM})
SET (ESCARGOT_DEFINITIONS ${ESCARGOT_DEFINITIONS} ${ESCARGOT_DEFINITIONS_ARM})
ELSEIF (${ESCARGOT_ARCH} STREQUAL "aarch64")
SET (ESCARGOT_CXXFLAGS "${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_AARCH64}")
SET (ESCARGOT_LDFLAGS "${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_AARCH64}")
SET (ESCARGOT_CXXFLAGS ${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_AARCH64})
SET (ESCARGOT_LDFLAGS ${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_AARCH64})
SET (ESCARGOT_DEFINITIONS ${ESCARGOT_DEFINITIONS} ${ESCARGOT_DEFINITIONS_AARCH64})
ELSEIF (${ESCARGOT_ARCH} STREQUAL "x86_64")
SET (ESCARGOT_CXXFLAGS "${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_X64}")
SET (ESCARGOT_LDFLAGS "${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_X64}")
SET (ESCARGOT_CXXFLAGS ${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_X64})
SET (ESCARGOT_LDFLAGS ${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_X64})
SET (ESCARGOT_DEFINITIONS ${ESCARGOT_DEFINITIONS} ${ESCARGOT_DEFINITIONS_X64})
ENDIF()
IF (${ESCARGOT_MODE} STREQUAL "debug")
SET (ESCARGOT_CXXFLAGS "${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_DEBUG}")
SET (ESCARGOT_LDFLAGS "${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_DEBUG}")
SET (ESCARGOT_CXXFLAGS ${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_DEBUG})
SET (ESCARGOT_LDFLAGS ${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_DEBUG})
SET (ESCARGOT_DEFINITIONS ${ESCARGOT_DEFINITIONS} ${ESCARGOT_DEFINITIONS_DEBUG})
ELSEIF (${ESCARGOT_MODE} STREQUAL "release")
SET (ESCARGOT_CXXFLAGS "${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_RELEASE}")
SET (ESCARGOT_LDFLAGS "${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_RELEASE}")
SET (ESCARGOT_CXXFLAGS ${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_RELEASE})
SET (ESCARGOT_LDFLAGS ${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_RELEASE})
SET (ESCARGOT_DEFINITIONS ${ESCARGOT_DEFINITIONS} ${ESCARGOT_DEFINITIONS_RELEASE})
ENDIF()
IF (${ESCARGOT_OUTPUT} STREQUAL "bin")
SET (ESCARGOT_CXXFLAGS "${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_BIN}")
SET (ESCARGOT_LDFLAGS "${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_BIN}")
SET (ESCARGOT_CXXFLAGS ${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_BIN})
SET (ESCARGOT_LDFLAGS ${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_BIN})
SET (ESCARGOT_DEFINITIONS ${ESCARGOT_DEFINITIONS} ${ESCARGOT_DEFINITIONS_BIN})
ELSEIF (${ESCARGOT_OUTPUT} STREQUAL "shared_lib")
SET (ESCARGOT_CXXFLAGS "${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_SHAREDLIB}")
SET (ESCARGOT_LDFLAGS "${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_SHAREDLIB}")
SET (ESCARGOT_CXXFLAGS ${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_SHAREDLIB})
SET (ESCARGOT_LDFLAGS ${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_SHAREDLIB})
SET (ESCARGOT_DEFINITIONS ${ESCARGOT_DEFINITIONS} ${ESCARGOT_DEFINITIONS_SHAREDLIB})
ELSEIF (${ESCARGOT_OUTPUT} STREQUAL "static_lib")
SET (ESCARGOT_CXXFLAGS "${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_STATICLIB}")
SET (ESCARGOT_LDFLAGS "${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_STATICLIB}")
SET (ESCARGOT_CXXFLAGS ${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_STATICLIB})
SET (ESCARGOT_LDFLAGS ${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_STATICLIB})
SET (ESCARGOT_DEFINITIONS ${ESCARGOT_DEFINITIONS} ${ESCARGOT_DEFINITIONS_STATICLIB})
ENDIF()
IF ("${LTO}" EQUAL 1)
SET (ESCARGOT_CXXFLAGS "${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_LTO}")
SET (ESCARGOT_LDFLAGS "${ESCARGOT_LDFLAGS} ${ESCARGOT_LDFLAGS_LTO}")
IF (${ESCARGOT_OUTPUT} STREQUAL "bin")
SET (ESCARGOT_LDFLAGS "${ESCARGOT_LDFLAGS} ${ESCARGOT_CXXFLAGS}")
ENDIF()
ENDIF()
IF ("${VENDORTEST}" EQUAL 1)
SET (ESCARGOT_CXXFLAGS "${ESCARGOT_CXXFLAGS} ${ESCARGOT_CXXFLAGS_VENDORTEST}")
IF (${VENDORTEST})
SET (ESCARGOT_DEFINITIONS ${ESCARGOT_DEFINITIONS} ${ESCARGOT_DEFINITIONS_VENDORTEST})
ENDIF()
@ -156,11 +176,10 @@ IF (${ESCARGOT_OUTPUT} STREQUAL "bin")
ADD_EXECUTABLE (${ESCARGOT_TARGET} ${ESCARGOT_SRC_LIST})
ADD_DEPENDENCIES (${ESCARGOT_TARGET} gc)
TARGET_LINK_LIBRARIES (${ESCARGOT_TARGET} ${ESCARGOT_LIBRARIES} ${GC_TARGET})
TARGET_LINK_LIBRARIES (${ESCARGOT_TARGET} ${ESCARGOT_LIBRARIES} ${GC_TARGET} ${ESCARGOT_LDFLAGS})
TARGET_INCLUDE_DIRECTORIES (${ESCARGOT_TARGET} PUBLIC ${ESCARGOT_INCDIRS})
SET_TARGET_PROPERTIES (${ESCARGOT_TARGET} PROPERTIES
COMPILE_FLAGS "${ESCARGOT_CXXFLAGS} $ENV{CXXFLAGS}"
LINK_FLAGS "${ESCARGOT_LDFLAGS}")
TARGET_COMPILE_DEFINITIONS (${ESCARGOT_TARGET} PUBLIC ${ESCARGOT_DEFINITIONS})
TARGET_COMPILE_OPTIONS (${ESCARGOT_TARGET} PUBLIC ${ESCARGOT_CXXFLAGS} ${CXXFLAGS_FROM_ENV})
ADD_CUSTOM_COMMAND (TARGET ${ESCARGOT_TARGET} POST_BUILD
COMMAND cp ${ESCARGOT_OUTDIR}/${ESCARGOT_TARGET} .)
@ -168,14 +187,16 @@ IF (${ESCARGOT_OUTPUT} STREQUAL "bin")
ELSEIF (${ESCARGOT_OUTPUT} STREQUAL "shared_lib")
ADD_LIBRARY (${ESCARGOT_TARGET} SHARED ${ESCARGOT_SRC_LIST})
TARGET_LINK_LIBRARIES (${ESCARGOT_TARGET} ${ESCARGOT_LIBRARIES})
TARGET_LINK_LIBRARIES (${ESCARGOT_TARGET} ${ESCARGOT_LIBRARIES} ${ESCARGOT_LDFLAGS})
TARGET_INCLUDE_DIRECTORIES (${ESCARGOT_TARGET} PUBLIC ${ESCARGOT_INCDIRS})
SET_TARGET_PROPERTIES (${ESCARGOT_TARGET} PROPERTIES
COMPILE_FLAGS "${ESCARGOT_CXXFLAGS} $ENV{CXXFLAGS}"
LINK_FLAGS "${ESCARGOT_LDFLAGS}")
TARGET_COMPILE_DEFINITIONS (${ESCARGOT_TARGET} PUBLIC ${ESCARGOT_DEFINITIONS})
TARGET_COMPILE_OPTIONS (${ESCARGOT_TARGET} PUBLIC ${ESCARGOT_CXXFLAGS} ${CXXFLAGS_FROM_ENV})
ELSEIF (${ESCARGOT_OUTPUT} STREQUAL "static_lib")
ADD_LIBRARY (${ESCARGOT_TARGET} STATIC ${ESCARGOT_SRC_LIST})
SET_TARGET_PROPERTIES (${ESCARGOT_TARGET} PROPERTIES
COMPILE_FLAGS "${ESCARGOT_CXXFLAGS} $ENV{CXXFLAGS}")
TARGET_LINK_LIBRARIES (${ESCARGOT_TARGET} ${ESCARGOT_LIBRARIES} ${ESCARGOT_LDFLAGS})
TARGET_INCLUDE_DIRECTORIES (${ESCARGOT_TARGET} PUBLIC ${ESCARGOT_INCDIRS})
TARGET_COMPILE_DEFINITIONS (${ESCARGOT_TARGET} PUBLIC ${ESCARGOT_DEFINITIONS})
TARGET_COMPILE_OPTIONS (${ESCARGOT_TARGET} PUBLIC ${ESCARGOT_CXXFLAGS} ${CXXFLAGS_FROM_ENV})
ENDIF()