add_compile_options(-fPIC) if(BuildJIT) set(chakra_backend_objects $) endif() if(CC_TARGETS_AMD64) set(wasm_objects $) set(wasm_includes ${CHAKRACORE_SOURCE_DIR}/lib/WasmReader) endif() if(CAN_BUILD_WABT) set(wabt_objects $) set(wabt_includes ${CHAKRACORE_SOURCE_DIR}/lib/wabt) endif() if (USE_LTTNG) set(lttng_objects $) endif() add_library (ChakraCoreStatic STATIC ChakraCoreStatic.cpp $ $ $ $ ${chakra_backend_objects} $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ${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) if (EMBED_ICU) # Declare ICU dependencies in bulk. # TODO Not the most idiomatic solution, need to understand if all of those # libraries needed to depend on it add_dependencies(Chakra.Jsrt ${EMBEDDED_ICU_TARGET}) add_dependencies(Chakra.Jsrt.Core ${EMBEDDED_ICU_TARGET}) add_dependencies(Chakra.Parser ${EMBEDDED_ICU_TARGET}) add_dependencies(Chakra.Runtime.Base ${EMBEDDED_ICU_TARGET}) add_dependencies(Chakra.Runtime.ByteCode ${EMBEDDED_ICU_TARGET}) add_dependencies(Chakra.Runtime.Debug ${EMBEDDED_ICU_TARGET}) add_dependencies(Chakra.Runtime.Library ${EMBEDDED_ICU_TARGET}) add_dependencies(Chakra.Runtime.Math ${EMBEDDED_ICU_TARGET}) add_dependencies(Chakra.Runtime.Language ${EMBEDDED_ICU_TARGET}) add_dependencies(Chakra.Runtime.PlatformAgnostic ${EMBEDDED_ICU_TARGET}) add_dependencies(Chakra.Runtime.Types ${EMBEDDED_ICU_TARGET}) add_dependencies(Chakra.SCACore ${EMBEDDED_ICU_TARGET}) if (BuildJIT) add_dependencies(Chakra.Backend ${EMBEDDED_ICU_TARGET}) if (CC_TARGETS_AMD64) add_dependencies(Chakra.WasmReader ${EMBEDDED_ICU_TARGET}) endif() endif() endif()