eliding a move in Air O0 needs to mark the dest's old reg as available
[WebKit-https.git] / Tools / TestWebKitAPI / glib / CMakeLists.txt
1 set(WebKitGLibAPITests_SOURCES
2     ${TOOLS_DIR}/TestWebKitAPI/glib/WebKitGLib/LoadTrackingTest.cpp
3     ${TOOLS_DIR}/TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp
4     ${TOOLS_DIR}/TestWebKitAPI/glib/WebKitGLib/TestMain.cpp
5     ${TOOLS_DIR}/TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp
6 )
7
8 set(WebKitGLibAPITests_INCLUDE_DIRECTORIES
9     ${FORWARDING_HEADERS_DIR}
10     ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib
11     ${TOOLS_DIR}/TestWebKitAPI/glib/WebKitGLib
12 )
13
14 set(WebKitGLibAPITests_SYSTEM_INCLUDE_DIRECTORIES
15     ${CAIRO_INCLUDE_DIRS}
16     ${GLIB_INCLUDE_DIRS}
17     ${GSTREAMER_INCLUDE_DIRS}
18     ${LIBSOUP_INCLUDE_DIRS}
19 )
20
21 set(WebKitAPITest_LIBRARIES
22     WebKit::JavaScriptCore
23     WebKit
24 )
25
26 set(WebKitGLibAPITest_LIBRARIES
27     ${WebKitAPITest_LIBRARIES}
28     WebKitGLibAPITestsCore
29     ${GLIB_LIBRARIES}
30     ${LIBSOUP_LIBRARIES}
31 )
32
33 set(WebKitGLibAPITestExtension_LIBRARIES
34     WebKit::JavaScriptCore
35     WebKit
36     ${GLIB_LIBRARIES}
37 )
38
39 set(WebKitGLibAPIWebProcessTests
40     ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/DOMElementTest.cpp
41     ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/EditorTest.cpp
42     ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp
43     ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp
44 )
45
46 macro(ADD_WK2_TEST_WEB_EXTENSION extension_name)
47     add_library(${extension_name} MODULE ${ARGN})
48     add_dependencies(${extension_name} WebKit)
49     set_property(
50         TARGET ${extension_name}
51         APPEND
52         PROPERTY COMPILE_DEFINITIONS WEBKIT2_COMPILATION
53     )
54     set_target_properties(${extension_name} PROPERTIES
55         LIBRARY_OUTPUT_DIRECTORY ${TEST_LIBRARY_DIR}
56     )
57     target_link_libraries(${extension_name} ${WebKitGLibAPITestExtension_LIBRARIES})
58
59     if (COMPILER_IS_GCC_OR_CLANG)
60         WEBKIT_ADD_TARGET_CXX_FLAGS(${extension_name} -Wno-unused-parameter)
61     endif ()
62 endmacro()
63
64 macro(ADD_WK2_TEST test_name)
65     add_executable(${test_name} ${ARGN})
66     add_dependencies(${test_name}
67         test-gresource-bundle
68         WebExtensionTest
69     )
70     set_target_properties(${test_name} PROPERTIES
71         RUNTIME_OUTPUT_DIRECTORY ${TEST_BINARY_DIR}
72     )
73     target_link_libraries(${test_name} ${WebKitGLibAPITest_LIBRARIES})
74
75     if (COMPILER_IS_GCC_OR_CLANG)
76         WEBKIT_ADD_TARGET_CXX_FLAGS(${test_name} -Wno-unused-parameter)
77     endif ()
78 endmacro()
79
80 WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
81
82 set(TEST_RESOURCES_DIR ${TEST_BINARY_DIR}/resources)
83 file(MAKE_DIRECTORY ${TEST_RESOURCES_DIR})
84
85 add_definitions(
86     -DWEBKIT_TEST_PLUGIN_DIR="${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/plugins"
87     -DWEBKIT_EXEC_PATH="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}"
88     -DWEBKIT_SRC_DIR="${CMAKE_SOURCE_DIR}"
89     -DWEBKIT_TEST_WEB_EXTENSIONS_DIR="${TEST_LIBRARY_DIR}"
90     -DWEBKIT_INJECTED_BUNDLE_PATH="${CMAKE_LIBRARY_OUTPUT_DIRECTORY}"
91     -DWEBKIT_TEST_RESOURCES_DIR="${TEST_RESOURCES_DIR}"
92 )
93
94 include_directories(${WebKitGLibAPITests_INCLUDE_DIRECTORIES})
95 include_directories(SYSTEM ${WebKitGLibAPITests_SYSTEM_INCLUDE_DIRECTORIES})
96
97 add_library(WebKitGLibAPITestsCore STATIC ${WebKitGLibAPITests_SOURCES})
98 target_link_libraries(WebKitGLibAPITestsCore WebKit)
99
100 if (COMPILER_IS_GCC_OR_CLANG)
101     WEBKIT_ADD_TARGET_CXX_FLAGS(WebKitGLibAPITestsCore -Wno-unused-parameter)
102 endif ()
103
104 add_custom_command(
105     OUTPUT ${TEST_RESOURCES_DIR}/webkitglib-tests-resources.gresource
106     DEPENDS ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/resources/webkitglib-tests.gresource.xml
107             ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/resources/link-title.js
108     COMMAND glib-compile-resources
109             --target=${TEST_RESOURCES_DIR}/webkitglib-tests-resources.gresource
110             --sourcedir=${CMAKE_SOURCE_DIR}
111             ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/resources/webkitglib-tests.gresource.xml
112 )
113
114 add_custom_target(test-gresource-bundle
115     DEPENDS ${TEST_RESOURCES_DIR}/webkitglib-tests-resources.gresource
116 )
117
118 ADD_WK2_TEST_WEB_EXTENSION(WebExtensionTest ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp)
119 ADD_WK2_TEST_WEB_EXTENSION(WebProcessTest ${WebKitGLibAPIWebProcessTests})
120
121 ADD_WK2_TEST(TestAuthentication ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp)
122 ADD_WK2_TEST(TestAutomationSession ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp)
123 ADD_WK2_TEST(TestBackForwardList ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/TestBackForwardList.cpp)
124 ADD_WK2_TEST(TestDownloads ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp)
125 ADD_WK2_TEST(TestWebKitFaviconDatabase ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp)
126 ADD_WK2_TEST(TestWebKitFindController ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/TestWebKitFindController.cpp)
127 ADD_WK2_TEST(TestEditor ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/TestEditor.cpp)
128 ADD_WK2_TEST(TestFrame ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/TestFrame.cpp)
129 ADD_WK2_TEST(TestLoaderClient ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp)
130 ADD_WK2_TEST(TestMultiprocess ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/TestMultiprocess.cpp)
131 ADD_WK2_TEST(TestResources ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp)
132 ADD_WK2_TEST(TestSSL ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp)
133 ADD_WK2_TEST(TestUIClient ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp)
134 ADD_WK2_TEST(TestWebExtensions ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp)
135 ADD_WK2_TEST(TestWebKitPolicyClient ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/TestWebKitPolicyClient.cpp)
136 ADD_WK2_TEST(TestWebKitSecurityOrigin ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/TestWebKitSecurityOrigin.cpp)
137 ADD_WK2_TEST(TestWebKitSettings ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp)
138 ADD_WK2_TEST(TestWebKitURIUtilities ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/TestWebKitURIUtilities.cpp)
139 ADD_WK2_TEST(TestWebKitWebContext ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp)
140 ADD_WK2_TEST(TestWebKitWebView ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp)
141 ADD_WK2_TEST(TestWebKitUserContentFilterStore ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentFilterStore.cpp)
142 ADD_WK2_TEST(TestWebKitUserContentManager ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp)
143 ADD_WK2_TEST(TestWebsiteData ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp)
144 ADD_WK2_TEST(TestConsoleMessage ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/TestConsoleMessage.cpp)
145 ADD_WK2_TEST(TestDOMElement ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/TestDOMElement.cpp)
146 ADD_WK2_TEST(TestGeolocationManager ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/TestGeolocationManager.cpp)
147
148 # FIXME: Enable for WPE
149 if (PORT STREQUAL "GTK")
150     ADD_WK2_TEST(TestCookieManager ${TOOLS_DIR}/TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp)
151 endif ()
152
153 macro(ADD_WPE_QT_TEST test_name)
154     add_executable(${test_name} ${ARGN} ${TOOLS_DIR}/TestWebKitAPI/Tests/WPEQt/WPEQtTest.cpp)
155     set_target_properties(${test_name} PROPERTIES
156         RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/TestWebKitAPI/WPEQt
157         AUTOMOC ON
158         CXX_STANDARD 17
159     )
160     target_compile_definitions(${test_name} PUBLIC QT_NO_KEYWORDS=1)
161     target_link_libraries(${test_name} ${WPEQtAPITest_LIBRARIES})
162     target_include_directories(${test_name} SYSTEM PRIVATE ${WPEQtAPITests_INCLUDE_DIRECTORIES})
163     target_include_directories(${test_name} PRIVATE
164       ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/Source/WebKit/UIProcess/API/wpe/qt)
165 endmacro()
166
167 if (PORT STREQUAL "WPE" AND ENABLE_WPE_QT_API)
168     set(WPEQtAPITests_INCLUDE_DIRECTORIES
169         ${Qt5_INCLUDE_DIRS}
170         ${Qt5Test_INCLUDE_DIRS}
171     )
172     set(WPEQtAPITest_LIBRARIES
173          ${WebKitAPITest_LIBRARIES}
174          Qt5::Test qtwpe
175     )
176     ADD_WPE_QT_TEST(TestLoad ${TOOLS_DIR}/TestWebKitAPI/Tests/WPEQt/TestLoad.cpp)
177     ADD_WPE_QT_TEST(TestLoadHtml ${TOOLS_DIR}/TestWebKitAPI/Tests/WPEQt/TestLoadHtml.cpp)
178     ADD_WPE_QT_TEST(TestLoadRequest ${TOOLS_DIR}/TestWebKitAPI/Tests/WPEQt/TestLoadRequest.cpp)
179     ADD_WPE_QT_TEST(TestRunJavaScript ${TOOLS_DIR}/TestWebKitAPI/Tests/WPEQt/TestRunJavaScript.cpp)
180 endif ()