blob: 0cbeec680c4cf0d9908207ede1cdd1e2a8fdf2f5 [file] [log] [blame]
add_compile_options(-fPIC)
if(BuildJIT)
set(chakra_backend_objects $<TARGET_OBJECTS:Chakra.Backend>)
endif()
if(CC_TARGETS_AMD64)
set(wasm_objects $<TARGET_OBJECTS:Chakra.WasmReader>)
set(wasm_includes ${CHAKRACORE_SOURCE_DIR}/lib/WasmReader)
endif()
if(CAN_BUILD_WABT)
set(wabt_objects $<TARGET_OBJECTS:libwabt>)
set(wabt_includes ${CHAKRACORE_SOURCE_DIR}/lib/wabt)
endif()
if (USE_LTTNG)
set(lttng_objects $<TARGET_OBJECTS:Chakra.LTTng>)
endif()
add_library (ChakraCoreStatic STATIC
ChakraCoreStatic.cpp
$<TARGET_OBJECTS:Chakra.Pal>
$<TARGET_OBJECTS:Chakra.Common.Core>
$<TARGET_OBJECTS:Chakra.Jsrt>
$<TARGET_OBJECTS:Chakra.Jsrt.Core>
${chakra_backend_objects}
$<TARGET_OBJECTS:Chakra.Common.Common>
$<TARGET_OBJECTS:Chakra.Common.Codex>
$<TARGET_OBJECTS:Chakra.Common.DataStructures>
$<TARGET_OBJECTS:Chakra.Common.Exceptions>
$<TARGET_OBJECTS:Chakra.Common.Memory>
$<TARGET_OBJECTS:Chakra.Common.Util>
$<TARGET_OBJECTS:Chakra.Runtime.Base>
$<TARGET_OBJECTS:Chakra.Runtime.ByteCode>
$<TARGET_OBJECTS:Chakra.Runtime.Debug>
$<TARGET_OBJECTS:Chakra.Runtime.Language>
$<TARGET_OBJECTS:Chakra.Runtime.Library>
$<TARGET_OBJECTS:Chakra.Runtime.Math>
$<TARGET_OBJECTS:Chakra.Runtime.Types>
$<TARGET_OBJECTS:Chakra.Runtime.PlatformAgnostic>
$<TARGET_OBJECTS:Chakra.Parser>
$<TARGET_OBJECTS:Chakra.SCACore>
${wasm_objects}
${wabt_objects}
${lttng_objects}
)
if(USE_LTTNG)
target_link_libraries(ChakraCoreStatic
-llttng-ust
-ldl
)
endif()
if(CC_TARGET_OS_OSX)
target_link_libraries(ChakraCoreStatic
"-framework CoreFoundation"
"-framework Security"
)
else()
if (NOT CC_TARGET_OS_ANDROID)
set(PTHREAD "pthread")
endif()
target_link_libraries(ChakraCoreStatic
${PTHREAD}
"dl"
)
endif()
target_include_directories (
ChakraCoreStatic PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
${CHAKRACORE_SOURCE_DIR}/lib/Backend
${CHAKRACORE_SOURCE_DIR}/lib/Common
${CHAKRACORE_SOURCE_DIR}/lib/Runtime
${CHAKRACORE_SOURCE_DIR}/lib/Runtime/ByteCode
${CHAKRACORE_SOURCE_DIR}/lib/Parser
${CHAKRACORE_SOURCE_DIR}/lib/Jsrt
${CHAKRACORE_SOURCE_DIR}/lib/SCACore
${wasm_includes}
${wabt_includes}
)
if(BuildJIT)
add_subdirectory (Backend)
endif()
add_subdirectory (Common)
add_subdirectory (Parser)
add_subdirectory (SCACore)
add_subdirectory (Runtime)
add_subdirectory (Jsrt)
if (CC_TARGETS_AMD64)
add_subdirectory (WasmReader)
set(BUILD_TESTS OFF)
set(RUN_BISON OFF)
set(RUN_RE2C OFF)
endif()
if(CAN_BUILD_WABT)
add_subdirectory (wabt)
endif()
if(NOT CC_XCODE_PROJECT)
add_custom_command(TARGET ChakraCoreStatic POST_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_BINARY_DIR}/include"
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${CMAKE_CURRENT_SOURCE_DIR}/Jsrt/ChakraCore.h"
"${CMAKE_BINARY_DIR}/include"
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${CMAKE_CURRENT_SOURCE_DIR}/Jsrt/ChakraCommon.h"
"${CMAKE_BINARY_DIR}/include"
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${CMAKE_CURRENT_SOURCE_DIR}/Jsrt/ChakraDebug.h"
"${CMAKE_BINARY_DIR}/include"
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${CMAKE_CURRENT_SOURCE_DIR}/Common/ChakraCoreVersion.h"
"${CMAKE_BINARY_DIR}/include"
)
endif(NOT CC_XCODE_PROJECT)