[EFL] Share resources installed for inspector
[WebKit.git] / Source / WebKit2 / PlatformEfl.cmake
1 LIST(APPEND WebKit2_SOURCES
2     Platform/efl/LoggingEfl.cpp
3     Platform/efl/ModuleEfl.cpp
4     Platform/efl/WorkQueueEfl.cpp
5     Platform/unix/SharedMemoryUnix.cpp
6
7     Platform/CoreIPC/unix/ConnectionUnix.cpp
8     Platform/CoreIPC/unix/AttachmentUnix.cpp
9
10     PluginProcess/unix/PluginControllerProxyUnix.cpp
11     PluginProcess/unix/PluginProcessMainUnix.cpp
12     PluginProcess/unix/PluginProcessUnix.cpp
13
14     Shared/API/c/cairo/WKImageCairo.cpp
15
16     Shared/API/c/gtk/WKGraphicsContextGtk.cpp
17
18     Shared/cairo/ShareableBitmapCairo.cpp
19
20     Shared/efl/LayerTreeContextEfl.cpp
21     Shared/efl/NativeWebKeyboardEventEfl.cpp
22     Shared/efl/NativeWebWheelEventEfl.cpp
23     Shared/efl/NativeWebMouseEventEfl.cpp
24     Shared/efl/NativeWebTouchEventEfl.cpp
25     Shared/efl/ProcessExecutablePathEfl.cpp
26     Shared/efl/WebEventFactory.cpp
27
28     Shared/linux/WebMemorySamplerLinux.cpp
29
30     Shared/soup/PlatformCertificateInfo.cpp
31     Shared/soup/WebCoreArgumentCodersSoup.cpp
32
33     UIProcess/DefaultUndoController.cpp
34
35     Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp
36
37     UIProcess/API/C/efl/WKView.cpp
38     
39     UIProcess/API/cpp/efl/WKEinaSharedString.cpp
40
41     UIProcess/API/C/soup/WKContextSoup.cpp
42     UIProcess/API/C/soup/WKSoupRequestManager.cpp
43
44     UIProcess/API/efl/BatteryProvider.cpp
45     UIProcess/API/efl/EflViewportHandler.cpp
46     UIProcess/API/efl/NetworkInfoProvider.cpp
47     UIProcess/API/efl/PageClientImpl.cpp
48     UIProcess/API/efl/VibrationProvider.cpp
49     UIProcess/API/efl/ewk_back_forward_list.cpp
50     UIProcess/API/efl/ewk_back_forward_list_item.cpp
51     UIProcess/API/efl/ewk_context.cpp
52     UIProcess/API/efl/ewk_context_download_client.cpp
53     UIProcess/API/efl/ewk_context_history_client.cpp
54     UIProcess/API/efl/ewk_context_request_manager_client.cpp
55     UIProcess/API/efl/ewk_cookie_manager.cpp
56     UIProcess/API/efl/ewk_download_job.cpp
57     UIProcess/API/efl/ewk_error.cpp
58     UIProcess/API/efl/ewk_form_submission_request.cpp
59     UIProcess/API/efl/ewk_intent.cpp
60     UIProcess/API/efl/ewk_intent_service.cpp
61     UIProcess/API/efl/ewk_main.cpp
62     UIProcess/API/efl/ewk_navigation_data.cpp
63     UIProcess/API/efl/ewk_navigation_policy_decision.cpp
64     UIProcess/API/efl/ewk_popup_menu_item.cpp
65     UIProcess/API/efl/ewk_resource.cpp
66     UIProcess/API/efl/ewk_settings.cpp
67     UIProcess/API/efl/ewk_url_request.cpp
68     UIProcess/API/efl/ewk_url_response.cpp
69     UIProcess/API/efl/ewk_url_scheme_request.cpp
70     UIProcess/API/efl/ewk_view.cpp
71     UIProcess/API/efl/ewk_view_find_client.cpp
72     UIProcess/API/efl/ewk_view_form_client.cpp
73     UIProcess/API/efl/ewk_view_loader_client.cpp
74     UIProcess/API/efl/ewk_view_policy_client.cpp
75     UIProcess/API/efl/ewk_view_resource_load_client.cpp
76     UIProcess/API/efl/ewk_view_ui_client.cpp
77
78     UIProcess/cairo/BackingStoreCairo.cpp
79
80     UIProcess/efl/TextCheckerEfl.cpp
81     UIProcess/efl/WebContextEfl.cpp
82     UIProcess/efl/WebFullScreenManagerProxyEfl.cpp
83     UIProcess/efl/WebInspectorProxyEfl.cpp
84     UIProcess/efl/WebPageProxyEfl.cpp
85     UIProcess/efl/WebPopupMenuProxyEfl.cpp
86     UIProcess/efl/WebPreferencesEfl.cpp
87     UIProcess/efl/WebProcessProxyEfl.cpp
88
89     UIProcess/soup/WebCookieManagerProxySoup.cpp
90     UIProcess/soup/WebSoupRequestManagerClient.cpp
91     UIProcess/soup/WebSoupRequestManagerProxy.cpp
92
93     UIProcess/Launcher/efl/ProcessLauncherEfl.cpp
94
95     UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp
96     UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp
97
98     WebProcess/Cookies/soup/WebCookieManagerSoup.cpp
99     WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.cpp
100
101     WebProcess/Downloads/efl/DownloadSoupErrorsEfl.cpp
102     WebProcess/Downloads/soup/DownloadSoup.cpp
103
104     WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp
105
106     WebProcess/Plugins/Netscape/unix/PluginProxyUnix.cpp
107
108     WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
109
110     WebProcess/WebCoreSupport/efl/WebContextMenuClientEfl.cpp
111     WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp
112     WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp
113     WebProcess/WebCoreSupport/efl/WebPopupMenuEfl.cpp
114
115     WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp
116
117     WebProcess/WebPage/efl/WebInspectorEfl.cpp
118     WebProcess/WebPage/efl/WebPageEfl.cpp
119
120     WebProcess/efl/WebProcessMainEfl.cpp
121
122     WebProcess/soup/WebProcessSoup.cpp
123     WebProcess/soup/WebSoupRequestManager.cpp
124     WebProcess/soup/WebKitSoupRequestGeneric.cpp
125     WebProcess/soup/WebKitSoupRequestInputStream.cpp
126 )
127
128 LIST(APPEND WebKit2_MESSAGES_IN_FILES
129     UIProcess/soup/WebSoupRequestManagerProxy.messages.in
130     WebProcess/soup/WebSoupRequestManager.messages.in
131 )
132
133 LIST(APPEND WebKit2_INCLUDE_DIRECTORIES
134     "${JAVASCRIPTCORE_DIR}/llint"
135     "${WEBCORE_DIR}/platform/efl"
136     "${WEBCORE_DIR}/platform/graphics/cairo"
137     "${WEBCORE_DIR}/platform/network/soup"
138     "${WEBCORE_DIR}/svg/graphics"
139     "${WEBKIT2_DIR}/Shared/efl"
140     "${WEBKIT2_DIR}/Shared/soup"
141     "${WEBKIT2_DIR}/UIProcess/API/C/efl"
142     "${WEBKIT2_DIR}/UIProcess/API/C/soup"
143     "${WEBKIT2_DIR}/UIProcess/API/cpp/efl"
144     "${WEBKIT2_DIR}/UIProcess/API/efl"
145     "${WEBKIT2_DIR}/UIProcess/efl"
146     "${WEBKIT2_DIR}/UIProcess/soup"
147     "${WEBKIT2_DIR}/WebProcess/Downloads/soup"
148     "${WEBKIT2_DIR}/WebProcess/efl"
149     "${WEBKIT2_DIR}/WebProcess/soup"
150     "${WEBKIT2_DIR}/WebProcess/WebCoreSupport/efl"
151     "${WEBKIT2_DIR}/WebProcess/WebCoreSupport/soup"
152     "${WTF_DIR}/wtf/gobject"
153     ${CAIRO_INCLUDE_DIRS}
154     ${ECORE_INCLUDE_DIRS}
155     ${ECORE_EVAS_INCLUDE_DIRS}
156     ${EDJE_INCLUDE_DIRS}
157     ${EFREET_INCLUDE_DIRS}
158     ${EINA_INCLUDE_DIRS}
159     ${EVAS_INCLUDE_DIRS}
160     ${HARFBUZZ_INCLUDE_DIRS}
161     ${LIBSOUP_INCLUDE_DIRS}
162     ${LIBXML2_INCLUDE_DIR}
163     ${LIBXSLT_INCLUDE_DIRS}
164     ${SQLITE_INCLUDE_DIRS}
165     ${GLIB_INCLUDE_DIRS}
166     ${LIBSOUP_INCLUDE_DIRS}
167     ${WTF_DIR}
168 )
169
170 IF (WTF_USE_3D_GRAPHICS)
171     LIST(APPEND WebKit2_INCLUDE_DIRECTORIES
172         "${THIRDPARTY_DIR}/ANGLE/include/GLSLANG"
173     )
174 ENDIF ()
175
176 LIST(APPEND WebKit2_LIBRARIES
177     ${CAIRO_LIBRARIES}
178     ${ECORE_LIBRARIES}
179     ${ECORE_EVAS_LIBRARIES}
180     ${EDJE_LIBRARIES}
181     ${EFREET_LIBRARIES}
182     ${EINA_LIBRARIES}
183     ${EVAS_LIBRARIES}
184     ${Freetype_LIBRARIES}
185     ${HARFBUZZ_LIBRARIES}
186     ${LIBXML2_LIBRARIES}
187     ${OPENGL_LIBRARIES}
188     ${SQLITE_LIBRARIES}
189     ${FONTCONFIG_LIBRARIES}
190     ${PNG_LIBRARY}
191     ${JPEG_LIBRARY}
192     ${CMAKE_DL_LIBS}
193     ${GLIB_LIBRARIES}
194     ${GLIB_GIO_LIBRARIES}
195     ${GLIB_GOBJECT_LIBRARIES}
196     ${LIBSOUP_LIBRARIES}
197 )
198
199 LIST (APPEND WebProcess_SOURCES
200     efl/MainEfl.cpp
201 )
202
203 LIST (APPEND WebProcess_LIBRARIES
204     ${CAIRO_LIBRARIES}
205     ${ECORE_X_LIBRARIES}
206     ${EDJE_LIBRARIES}
207     ${EFLDEPS_LIBRARIES}
208     ${EVAS_LIBRARIES}
209     ${LIBXML2_LIBRARIES}
210     ${LIBXSLT_LIBRARIES}
211     ${OPENGL_LIBRARIES}
212     ${SQLITE_LIBRARIES}
213 )
214
215 ADD_CUSTOM_TARGET(forwarding-headerEfl
216     COMMAND ${PERL_EXECUTABLE} ${WEBKIT2_DIR}/Scripts/generate-forwarding-headers.pl ${WEBKIT2_DIR} ${DERIVED_SOURCES_WEBKIT2_DIR}/include efl
217 )
218 SET(ForwardingHeaders_NAME forwarding-headerEfl)
219
220 ADD_CUSTOM_TARGET(forwarding-headerSoup
221     COMMAND ${PERL_EXECUTABLE} ${WEBKIT2_DIR}/Scripts/generate-forwarding-headers.pl ${WEBKIT2_DIR} ${DERIVED_SOURCES_WEBKIT2_DIR}/include soup
222 )
223 SET(ForwardingNetworkHeaders_NAME forwarding-headerSoup)
224
225 CONFIGURE_FILE(efl/ewebkit2.pc.in ${CMAKE_BINARY_DIR}/WebKit2/efl/ewebkit2.pc @ONLY)
226 SET (EWebKit2_HEADERS
227     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/EWebKit2.h"
228     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_back_forward_list.h"
229     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_back_forward_list_item.h"
230     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_context.h"
231     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_cookie_manager.h"
232     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_download_job.h"
233     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_error.h"
234     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_form_submission_request.h"
235     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_intent.h"
236     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_intent_service.h"
237     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_main.h"
238     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_navigation_data.h"
239     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_navigation_policy_decision.h"
240     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_popup_menu_item.h"
241     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_resource.h"
242     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_settings.h"
243     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_touch.h"
244     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_url_request.h"
245     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_url_response.h"
246     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_url_scheme_request.h"
247     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_view.h"
248 )
249
250 INSTALL(FILES ${CMAKE_BINARY_DIR}/WebKit2/efl/ewebkit2.pc DESTINATION lib/pkgconfig)
251 INSTALL(FILES ${EWebKit2_HEADERS} DESTINATION include/${WebKit2_LIBRARY_NAME}-${PROJECT_VERSION_MAJOR})
252
253 IF (ENABLE_PLUGIN_PROCESS)
254     ADD_DEFINITIONS(-DENABLE_PLUGIN_PROCESS=1)
255
256     SET (PluginProcess_EXECUTABLE_NAME PluginProcess)
257     LIST (APPEND PluginProcess_INCLUDE_DIRECTORIES
258         "${WEBKIT2_DIR}/PluginProcess/unix"
259     )
260
261     INCLUDE_DIRECTORIES(${PluginProcess_INCLUDE_DIRECTORIES})
262
263     LIST (APPEND PluginProcess_SOURCES
264         ${WEBKIT2_DIR}/unix/PluginMainUnix.cpp
265     )
266
267     SET(PluginProcess_LIBRARIES
268         ${WebKit2_LIBRARY_NAME}
269     )
270
271     ADD_EXECUTABLE(${PluginProcess_EXECUTABLE_NAME} ${PluginProcess_SOURCES})
272     TARGET_LINK_LIBRARIES(${PluginProcess_EXECUTABLE_NAME} ${PluginProcess_LIBRARIES})
273     INSTALL(TARGETS ${PluginProcess_EXECUTABLE_NAME} DESTINATION "${EXEC_INSTALL_DIR}")
274 ENDIF () # ENABLE_PLUGIN_PROCESS
275
276 INCLUDE_DIRECTORIES(${THIRDPARTY_DIR}/gtest/include)
277
278 SET(EWK2UnitTests_LIBRARIES
279     ${WTF_LIBRARY_NAME}
280     ${JavaScriptCore_LIBRARY_NAME}
281     ${WebCore_LIBRARY_NAME}
282     ${WebKit2_LIBRARY_NAME}
283     ${CAIRO_LIBRARIES}
284     ${ECORE_LIBRARIES}
285     ${ECORE_EVAS_LIBRARIES}
286     ${EVAS_LIBRARIES}
287     ${GLIB_LIBRARIES}
288     ${GLIB_GIO_LIBRARIES}
289     ${GLIB_GOBJECT_LIBRARIES}
290     ${LIBSOUP_LIBRARIES}
291     gtest
292 )
293
294 IF (ENABLE_GLIB_SUPPORT)
295     LIST(APPEND EWK2UnitTests_LIBRARIES
296         ${GLIB_LIBRARIES}
297         ${GLIB_GTHREAD_LIBRARIES}
298     )
299 ENDIF()
300
301 SET(WEBKIT2_EFL_TEST_DIR "${WEBKIT2_DIR}/UIProcess/API/efl/tests")
302 SET(TEST_RESOURCES_DIR ${WEBKIT2_EFL_TEST_DIR}/resources)
303 SET(TEST_INJECTED_BUNDLE_DIR ${WEBKIT2_EFL_TEST_DIR}/InjectedBundle)
304
305 ADD_DEFINITIONS(-DTEST_RESOURCES_DIR=\"${TEST_RESOURCES_DIR}\"
306     -DTEST_LIB_DIR=\"${CMAKE_LIBRARY_OUTPUT_DIRECTORY}\"
307     -DTEST_THEME_DIR=\"${THEME_BINARY_DIR}\"
308     -DGTEST_LINKED_AS_SHARED_LIBRARY=1
309     -DLIBEXECDIR=\"${CMAKE_INSTALL_PREFIX}/${EXEC_INSTALL_DIR}\"
310     -DWEBPROCESSNAME=\"${WebProcess_EXECUTABLE_NAME}\"
311     -DPLUGINPROCESSNAME=\"${PluginProcess_EXECUTABLE_NAME}\"
312 )
313
314 ADD_LIBRARY(ewk2UnitTestUtils
315     ${WEBKIT2_EFL_TEST_DIR}/UnitTestUtils/EWK2UnitTestBase.cpp
316     ${WEBKIT2_EFL_TEST_DIR}/UnitTestUtils/EWK2UnitTestEnvironment.cpp
317     ${WEBKIT2_EFL_TEST_DIR}/UnitTestUtils/EWK2UnitTestMain.cpp
318     ${WEBKIT2_EFL_TEST_DIR}/UnitTestUtils/EWK2UnitTestServer.cpp
319 )
320
321 TARGET_LINK_LIBRARIES(ewk2UnitTestUtils ${EWK2UnitTests_LIBRARIES})
322
323 # The "ewk" on the test name needs to be suffixed with "2", otherwise it
324 # will clash with tests from the WebKit 1 test suite.
325 SET(EWK2UnitTests_BINARIES
326     test_ewk2_back_forward_list
327     test_ewk2_context
328     test_ewk2_context_history_callbacks
329     test_ewk2_cookie_manager
330     test_ewk2_download_job
331     test_ewk2_eina_shared_string
332     test_ewk2_refptr_evas_object
333     test_ewk2_intents
334     test_ewk2_settings
335     test_ewk2_view
336 )
337
338 IF (ENABLE_API_TESTS)
339     FOREACH (testName ${EWK2UnitTests_BINARIES})
340         ADD_EXECUTABLE(${testName} ${WEBKIT2_EFL_TEST_DIR}/${testName}.cpp)
341         ADD_TEST(${testName} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${testName})
342         SET_TESTS_PROPERTIES(${testName} PROPERTIES TIMEOUT 60)
343         TARGET_LINK_LIBRARIES(${testName} ${EWK2UnitTests_LIBRARIES} ewk2UnitTestUtils)
344     ENDFOREACH ()
345
346     ADD_LIBRARY(ewk2UnitTestInjectedBundleSample SHARED ${TEST_INJECTED_BUNDLE_DIR}/injected_bundle_sample.cpp)
347     TARGET_LINK_LIBRARIES(ewk2UnitTestInjectedBundleSample ${WebKit2_LIBRARY_NAME})
348 ENDIF ()