blob: b3c7e0b1e681b2eea91052c6a8b7ab975e5a096e [file] [log] [blame]
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}
)