set(JSC_SOURCES ../jsc.cpp ) set(JSC_LIBRARIES ${CMAKE_DL_LIBS} JavaScriptCore${DEBUG_SUFFIX} WTF${DEBUG_SUFFIX} ) if (WTF_OS_MAC_OS_X) list(APPEND JSC_LIBRARIES edit) endif () if ("${JavaScriptCore_LIBRARY_TYPE}" MATCHES "STATIC") add_definitions(-DSTATICALLY_LINKED_WITH_JavaScriptCore) endif () set(TESTAPI_SOURCES ../API/tests/CompareAndSwapTest.cpp ../API/tests/CustomGlobalObjectClassTest.c ../API/tests/ExecutionTimeLimitTest.cpp ../API/tests/FunctionOverridesTest.cpp ../API/tests/GlobalContextWithFinalizerTest.cpp ../API/tests/JSONParseTest.cpp ../API/tests/JSObjectGetProxyTargetTest.cpp ../API/tests/MultithreadedMultiVMExecutionTest.cpp ../API/tests/PingPongStackOverflowTest.cpp ../API/tests/TypedArrayCTest.cpp ../API/tests/testapi.c ) WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS() WEBKIT_WRAP_SOURCELIST(${JSC_SOURCES}) WEBKIT_WRAP_SOURCELIST(${TESTAPI_SOURCES}) include_directories(./ ${JavaScriptCore_INCLUDE_DIRECTORIES} ${JavaScriptCore_PRIVATE_INCLUDE_DIRECTORIES}) include_directories(SYSTEM ${JavaScriptCore_SYSTEM_INCLUDE_DIRECTORIES}) add_executable(jsc ${JSC_SOURCES}) target_link_libraries(jsc ${JSC_LIBRARIES}) if (JSC_OUTPUT_NAME) set_target_properties(jsc PROPERTIES OUTPUT_NAME ${JSC_OUTPUT_NAME}) endif () if (JSC_LINK_FLAGS) WEBKIT_ADD_TARGET_PROPERTIES(jsc LINK_FLAGS "${JSC_LINK_FLAGS}") endif () if (SHOULD_INSTALL_JS_SHELL) install(TARGETS jsc DESTINATION "${LIBEXEC_INSTALL_DIR}") endif () if (TARGET jscLib) add_dependencies(jsc jscLib) endif () set(TESTMASM_SOURCES ../assembler/testmasm.cpp ) set(TESTB3_SOURCES ../b3/testb3.cpp ) set(TESTAIR_SOURCES ../b3/air/testair.cpp ) if (DEVELOPER_MODE AND NOT WIN32) add_executable(testmasm ${TESTMASM_SOURCES}) target_link_libraries(testmasm ${JSC_LIBRARIES}) add_executable(testb3 ${TESTB3_SOURCES}) target_link_libraries(testb3 ${JSC_LIBRARIES}) add_executable(testair ${TESTAIR_SOURCES}) target_link_libraries(testair ${JSC_LIBRARIES}) add_executable(testapi ${TESTAPI_SOURCES}) target_link_libraries(testapi ${JSC_LIBRARIES}) endif () file(COPY "${JAVASCRIPTCORE_DIR}/API/tests/testapi.js" DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} ) file(COPY "${JAVASCRIPTCORE_DIR}/API/tests/testapi-function-overrides.js" DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} )