blob: c1fa4c5e82df0d1efda69fb98a0ab1568fce90ac [file] [log] [blame] [edit]
set(TESTWEBKITAPI_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/TestWebKitAPI")
file(REMOVE_RECURSE ${TESTWEBKITAPI_RUNTIME_OUTPUT_DIRECTORY})
file(MAKE_DIRECTORY ${TESTWEBKITAPI_RUNTIME_OUTPUT_DIRECTORY})
add_custom_target(TestWebKitAPI-forwarding-headers
COMMAND ${PERL_EXECUTABLE} ${WEBKIT_DIR}/Scripts/generate-forwarding-headers.pl --include-path ${TESTWEBKITAPI_DIR} --output ${FORWARDING_HEADERS_DIR} --platform wpe --platform soup
DEPENDS webkitwpe-forwarding-headers
)
list(APPEND TestWebKit_DEPENDENCIES TestWebKitAPI-forwarding-headers)
add_dependencies(TestWebKitAPIInjectedBundle TestWebKitAPI-forwarding-headers)
set(test_main_SOURCES generic/main.cpp)
# TestWTF
list(APPEND TestWTF_SOURCES
${test_main_SOURCES}
Tests/WTF/glib/ActivityObserver.cpp
Tests/WTF/glib/GMallocString.cpp
Tests/WTF/glib/GRefPtr.cpp
Tests/WTF/glib/GUniquePtr.cpp
Tests/WTF/glib/GWeakPtr.cpp
Tests/WTF/glib/WorkQueueGLib.cpp
)
# TestJavaScriptCore
list(APPEND TestJavaScriptCore_SOURCES
${test_main_SOURCES}
)
# TestWebCore
list(APPEND TestWebCore_SOURCES
${test_main_SOURCES}
Tests/WebCore/UserAgentQuirks.cpp
Tests/WebCore/glib/Damage.cpp
Tests/WebCore/glib/GraphicsContextGLTextureMapper.cpp
Tests/WebCore/glib/RunLoopObserver.cpp
Tests/WebCore/gstreamer/GStreamerTest.cpp
Tests/WebCore/gstreamer/GstElementHarness.cpp
Tests/WebCore/gstreamer/GstMappedBuffer.cpp
)
list(APPEND TestWebCore_SYSTEM_INCLUDE_DIRECTORIES
${GSTREAMER_INCLUDE_DIRS}
${GSTREAMER_AUDIO_INCLUDE_DIRS}
${GSTREAMER_PBUTILS_INCLUDE_DIRS}
${GSTREAMER_VIDEO_INCLUDE_DIRS}
)
list(APPEND TestWebCore_LIBRARIES
HarfBuzz::HarfBuzz
HarfBuzz::ICU
)
# TestWebKit
list(APPEND TestWebKit_SOURCES
wpe/PlatformUtilitiesWPE.cpp
wpe/PlatformWebViewWPE.cpp
wpe/WebKitTestMain.cpp
)
list(APPEND TestWebKit_PRIVATE_INCLUDE_DIRECTORIES
${CMAKE_SOURCE_DIR}/Source
${FORWARDING_HEADERS_DIR}
)
if (ENABLE_WPE_LEGACY_API)
list(APPEND TestWebKit_PRIVATE_LIBRARIES WebKit::WPEToolingBackends)
endif ()
if (ENABLE_WPE_PLATFORM)
list(APPEND TestWebKit_PRIVATE_INCLUDE_DIRECTORIES
${WPEPlatform_DERIVED_SOURCES_DIR}
${WEBKIT_DIR}/WPEPlatform
)
endif ()
# TestWebKitAPIBase
target_include_directories(TestWebKitAPIBase PRIVATE
${CMAKE_SOURCE_DIR}/Source
${FORWARDING_HEADERS_DIR}
)
# TestWebKitAPIInjectedBundle
target_sources(TestWebKitAPIInjectedBundle PRIVATE
wpe/PlatformUtilitiesWPE.cpp
)
target_include_directories(TestWebKitAPIInjectedBundle PRIVATE
${CMAKE_SOURCE_DIR}/Source
${FORWARDING_HEADERS_DIR}
)
# TestJSC
set(TestJSC_SOURCES
Tests/JavaScriptCore/glib/TestJSC.cpp
)
set(TestJSC_PRIVATE_INCLUDE_DIRECTORIES
${CMAKE_BINARY_DIR}
${TESTWEBKITAPI_DIR}
"${JavaScriptCoreGLib_FRAMEWORK_HEADERS_DIR}"
"${JavaScriptCoreGLib_DERIVED_SOURCES_DIR}"
"${JavaScriptCoreGLib_DERIVED_SOURCES_DIR}/jsc"
)
# To reduce binary bloat, link only against the shared libWPEWebKit library
# without embedding the object files from the OBJECT library frameworks
# (WTF, bmalloc, JavaScriptCore) that are already bundled into libWPEWebKit.
# See detailed explanation at Source/JavaScriptCore/shell/PlatformWPE.cmake
set(TestJSC_FRAMEWORKS WebKit)
set(TestJavaScriptCore_FRAMEWORKS WebKit)
set(TestJSC_DEFINITIONS
WEBKIT_SRC_DIR="${CMAKE_SOURCE_DIR}"
)
WEBKIT_EXECUTABLE_DECLARE(TestJSC)
WEBKIT_TEST(TestJSC)