Tizen 2.1 base
[framework/web/webkit-efl.git] / Source / WebKit2 / PlatformEfl.cmake
1 LIST(APPEND WebKit2_LINK_FLAGS
2     ${CAIRO_LDFLAGS}
3     ${ECORE_X_LDFLAGS}
4     ${EDJE_LDFLAGS}
5     ${EFLDEPS_LDFLAGS}
6     ${EVAS_LDFLAGS}
7     ${LIBSOUP24_LDFLAGS}
8 )
9
10 LIST(APPEND WebKit2StaticForDebug_SOURCES
11     Platform/efl/LoggingEfl.cpp
12     Platform/efl/ModuleEfl.cpp
13     Platform/efl/WorkQueueEfl.cpp
14     Platform/unix/SharedMemoryUnix.cpp
15
16     Platform/CoreIPC/unix/ConnectionUnix.cpp
17     Platform/CoreIPC/unix/AttachmentUnix.cpp
18
19     PluginProcess/efl/PluginProcessEfl.cpp
20     PluginProcess/efl/PluginProcessMainEfl.cpp
21
22     Shared/API/c/cairo/WKImageCairo.cpp
23
24     Shared/API/c/gtk/WKGraphicsContextGtk.cpp
25
26     Shared/cairo/ShareableBitmapCairo.cpp
27
28     Shared/efl/LayerTreeContextEfl.cpp
29     Shared/efl/NativeWebKeyboardEventEfl.cpp
30     Shared/efl/NativeWebWheelEventEfl.cpp
31     Shared/efl/NativeWebMouseEventEfl.cpp
32     Shared/efl/NativeWebTouchEventEfl.cpp
33     Shared/efl/ProcessExecutablePathEfl.cpp
34     Shared/efl/WebEventFactory.cpp
35
36     Shared/soup/PlatformCertificateInfo.cpp
37     Shared/soup/WebCoreArgumentCodersSoup.cpp
38
39     UIProcess/API/C/efl/WKView.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/EwkViewImpl.cpp
46     UIProcess/API/efl/NetworkInfoProvider.cpp
47     UIProcess/API/efl/PageClientImpl.cpp
48     UIProcess/API/efl/VibrationProvider.cpp
49     UIProcess/API/efl/ewk_context.cpp
50     UIProcess/API/efl/ewk_context_download_client.cpp
51     UIProcess/API/efl/ewk_context_request_manager_client.cpp
52     UIProcess/API/efl/ewk_cookie_manager.cpp
53     UIProcess/API/efl/ewk_download_job.cpp
54     UIProcess/API/efl/ewk_form_submission_request.cpp
55     UIProcess/API/efl/ewk_intent.cpp
56     UIProcess/API/efl/ewk_intent_service.cpp
57     UIProcess/API/efl/ewk_main.cpp
58     UIProcess/API/efl/ewk_navigation_policy_decision.cpp
59     UIProcess/API/efl/ewk_popup_menu_item.cpp
60     UIProcess/API/efl/ewk_settings.cpp
61     UIProcess/API/efl/ewk_text_checker.cpp
62     UIProcess/API/efl/ewk_url_request.cpp
63     UIProcess/API/efl/ewk_url_response.cpp
64     UIProcess/API/efl/ewk_url_scheme_request.cpp
65     UIProcess/API/efl/ewk_view.cpp
66     UIProcess/API/efl/ewk_view_form_client.cpp
67     UIProcess/API/efl/ewk_view_loader_client.cpp
68     UIProcess/API/efl/ewk_view_policy_client.cpp
69     UIProcess/API/efl/ewk_view_resource_load_client.cpp
70     UIProcess/API/efl/ewk_web_error.cpp
71     UIProcess/API/efl/ewk_web_resource.cpp
72
73     UIProcess/cairo/BackingStoreCairo.cpp
74
75     UIProcess/efl/TextCheckerEfl.cpp
76     UIProcess/efl/WebContextEfl.cpp
77     UIProcess/efl/WebFullScreenManagerProxyEfl.cpp
78     UIProcess/efl/WebInspectorProxyEfl.cpp
79     UIProcess/efl/WebPageProxyEfl.cpp
80     UIProcess/efl/WebPreferencesEfl.cpp
81
82     UIProcess/soup/WebCookieManagerProxySoup.cpp
83     UIProcess/soup/WebSoupRequestManagerClient.cpp
84     UIProcess/soup/WebSoupRequestManagerProxy.cpp
85
86     UIProcess/Launcher/efl/ProcessLauncherEfl.cpp
87     UIProcess/Launcher/efl/ThreadLauncherEfl.cpp
88
89     UIProcess/Plugins/efl/PluginProcessProxyEfl.cpp
90
91     UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp
92
93     WebProcess/Cookies/soup/WebCookieManagerSoup.cpp
94     WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.cpp
95
96     WebProcess/Downloads/efl/DownloadSoupErrorsEfl.cpp
97     WebProcess/Downloads/soup/DownloadSoup.cpp
98
99     WebProcess/efl/WebProcessEfl.cpp
100     WebProcess/efl/WebProcessMainEfl.cpp
101
102     WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp
103
104     WebProcess/WebCoreSupport/efl/WebContextMenuClientEfl.cpp
105     WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp
106     WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp
107     WebProcess/WebCoreSupport/efl/WebInspectorServerEfl.cpp
108     WebProcess/WebCoreSupport/efl/WebPopupMenuEfl.cpp
109     WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp
110
111     WebProcess/WebPage/efl/WebInspectorEfl.cpp
112     WebProcess/WebPage/efl/WebPageEfl.cpp
113
114     WebProcess/soup/WebSoupRequestManager.cpp
115     WebProcess/soup/WebKitSoupRequestGeneric.cpp
116     WebProcess/soup/WebKitSoupRequestInputStream.cpp
117 )
118
119 LIST(APPEND WebKit2StaticForDebug_MESSAGES_IN_FILES
120     UIProcess/soup/WebSoupRequestManagerProxy.messages.in
121     WebProcess/soup/WebSoupRequestManager.messages.in
122 )
123
124 LIST(APPEND WebKit2StaticForDebug_INCLUDE_DIRECTORIES
125     "${JAVASCRIPTCORE_DIR}/llint"
126     "${WEBCORE_DIR}/platform/efl"
127     "${WEBCORE_DIR}/platform/graphics/cairo"
128     "${WEBCORE_DIR}/platform/graphics/surfaces"
129     "${WEBCORE_DIR}/platform/network/soup"
130     "${WEBCORE_DIR}/platform/text/enchant"
131     "${WEBCORE_DIR}/svg/graphics"
132     "${WEBKIT2_DIR}/Shared/efl"
133     "${WEBKIT2_DIR}/Shared/soup"
134     "${WEBKIT2_DIR}/UIProcess/API/C/efl"
135     "${WEBKIT2_DIR}/UIProcess/API/C/soup"
136     "${WEBKIT2_DIR}/UIProcess/API/efl"
137     "${WEBKIT2_DIR}/UIProcess/soup"
138     "${WEBKIT2_DIR}/WebProcess/Downloads/soup"
139     "${WEBKIT2_DIR}/WebProcess/efl"
140     "${WEBKIT2_DIR}/WebProcess/soup"
141     "${WEBKIT2_DIR}/WebProcess/WebCoreSupport/efl"
142     "${WEBKIT2_DIR}/WebProcess/WebCoreSupport/soup"
143     "${WTF_DIR}/wtf/gobject"
144     ${CAIRO_INCLUDE_DIRS}
145     ${ECORE_X_INCLUDE_DIRS}
146     ${EDJE_INCLUDE_DIRS}
147     ${EFLDEPS_INCLUDE_DIRS}
148     ${EVAS_INCLUDE_DIRS}
149     ${HARFBUZZ_INCLUDE_DIRS}
150     ${LIBXML2_INCLUDE_DIR}
151     ${LIBXSLT_INCLUDE_DIRS}
152     ${SQLITE_INCLUDE_DIRS}
153     ${Glib_INCLUDE_DIRS}
154     ${LIBSOUP24_INCLUDE_DIRS}
155     ${WTF_DIR}
156     ${CAPI_INCLUDE_DIRS}
157 )
158
159 LIST(APPEND WebKit2_LIBRARIES
160     ${CAIRO_LIBRARIES}
161     ${ECORE_X_LIBRARIES}
162     ${EFLDEPS_LIBRARIES}
163     ${Freetype_LIBRARIES}
164     ${LIBXML2_LIBRARIES}
165     ${SQLITE_LIBRARIES}
166     ${FONTCONFIG_LIBRARIES}
167     ${PNG_LIBRARY}
168     ${JPEG_LIBRARY}
169     ${CMAKE_DL_LIBS}
170     ${Glib_LIBRARIES}
171     ${LIBSOUP24_LIBRARIES}
172     ${CAPI_LIBRARIES}
173 )
174
175 LIST (APPEND WebKit2_FORWARDING_HEADERS_DIRECTORIES
176     Shared/API/c/efl
177     Shared/API/c/soup
178     UIProcess/API/C/efl
179     UIProcess/API/C/soup
180 )
181
182 LIST (APPEND WebProcess_SOURCES
183     efl/MainEfl.cpp
184 )
185
186 LIST (APPEND WebProcess_LIBRARIES
187     ${CAIRO_LIBRARIES}
188     ${ECORE_X_LIBRARIES}
189     ${EDJE_LIBRARIES}
190     ${EFLDEPS_LIBRARIES}
191     ${EVAS_LIBRARIES}
192     ${LIBXML2_LIBRARIES}
193     ${LIBXSLT_LIBRARIES}
194     ${SQLITE_LIBRARIES}
195 )
196
197 ADD_DEFINITIONS(-DDEFAULT_THEME_PATH=\"${CMAKE_INSTALL_PREFIX}/${DATA_INSTALL_DIR}/themes\")
198
199 ADD_CUSTOM_TARGET(forwarding-headerEfl
200     COMMAND ${PERL_EXECUTABLE} ${WEBKIT2_DIR}/Scripts/generate-forwarding-headers.pl ${WEBKIT2_DIR} ${DERIVED_SOURCES_WEBKIT2_DIR}/include efl
201 )
202 SET(ForwardingHeaders_NAME forwarding-headerEfl)
203
204 ADD_CUSTOM_TARGET(forwarding-headerSoup
205     COMMAND ${PERL_EXECUTABLE} ${WEBKIT2_DIR}/Scripts/generate-forwarding-headers.pl ${WEBKIT2_DIR} ${DERIVED_SOURCES_WEBKIT2_DIR}/include soup
206 )
207 SET(ForwardingNetworkHeaders_NAME forwarding-headerSoup)
208
209 IF (ENABLE_GLIB_SUPPORT)
210     LIST(APPEND WebKit2StaticForDebug_INCLUDE_DIRECTORIES
211         ${Glib_INCLUDE_DIRS}
212         ${JAVASCRIPTCORE_DIR}/wtf/gobject
213     )
214     LIST(APPEND WebKit2_LIBRARIES
215         ${Glib_LIBRARIES}
216     )
217 ENDIF ()
218
219 IF (ENABLE_BATTERY_STATUS)
220     LIST(APPEND WebKit2StaticForDebug_INCLUDE_DIRECTORIES $(WEBCORE_DIR)/Modules/battery)
221 ENDIF ()
222
223 IF (ENABLE_TIZEN_SUPPORT)
224     INCLUDE_IF_EXISTS(${WEBKIT2_DIR}/PlatformTizen.cmake)
225 ENDIF ()
226
227 CONFIGURE_FILE(efl/ewebkit2.pc.in ${CMAKE_BINARY_DIR}/WebKit2/efl/ewebkit2.pc @ONLY)
228 SET (EWebKit2_HEADERS
229     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/EWebKit2.h"
230     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_auth_challenge.h"
231     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_certificate.h"
232     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_context.h"
233     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_cookie_manager.h"
234     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_download_job.h"
235     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_form_submission_request.h"
236     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_intent.h"
237     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_intent_service.h"
238     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_main.h"
239     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_navigation_policy_decision.h"
240     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_text_checker.h"
241     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_touch.h"
242     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_url_request.h"
243     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_url_response.h"
244     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_url_scheme_request.h"
245     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_view.h"
246     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_web_error.h"
247     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_web_resource.h"
248
249     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_context_menu.h"
250     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_custom_handlers.h"
251     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_enums.h"
252     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_error.h"
253     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_form_data.h"
254     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_frame.h"
255     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_history.h"
256     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_hit_test.h"
257     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_geolocation.h"
258     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_notification.h"
259     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_policy_decision.h"
260     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_popup_menu_item.h"
261     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_security_origin.h"
262     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_setting.h"
263     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_settings.h"
264     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_text_style.h"
265     "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_user_media_permission.h"
266 )
267
268 INSTALL(FILES ${CMAKE_BINARY_DIR}/WebKit2/efl/ewebkit2.pc DESTINATION lib/pkgconfig)
269 INSTALL(FILES ${EWebKit2_HEADERS} DESTINATION include/${WebKit2_LIBRARY_NAME}-${PROJECT_VERSION_MAJOR})
270
271 INCLUDE_DIRECTORIES(${THIRDPARTY_DIR}/gtest/include)
272
273 SET(EWK2UnitTests_LIBRARIES
274     ${WTF_LIBRARY_NAME}
275     ${JavaScriptCore_LIBRARY_NAME}
276     ${WebCore_LIBRARY_NAME}
277     ${WebKit2_LIBRARY_NAME}
278     ${CAIRO_LIBRARIES}
279     ${ECORE_LIBRARIES}
280     ${ECORE_EVAS_LIBRARIES}
281     ${EVAS_LIBRARIES}
282     ${LIBSOUP24_LIBRARIES}
283     gtest
284 )
285
286 IF (ENABLE_GLIB_SUPPORT)
287     LIST(APPEND EWK2UnitTests_LIBRARIES
288         ${Glib_LIBRARIES}
289         ${Gthread_LIBRARIES}
290     )
291 ENDIF()
292
293 SET(WEBKIT2_EFL_TEST_DIR "${WEBKIT2_DIR}/UIProcess/API/efl/tests")
294 SET(TEST_RESOURCES_DIR ${WEBKIT2_EFL_TEST_DIR}/resources)
295
296 ADD_DEFINITIONS(-DTEST_RESOURCES_DIR=\"${TEST_RESOURCES_DIR}\"
297     -DTEST_THEME_DIR=\"${THEME_BINARY_DIR}\"
298     -DGTEST_LINKED_AS_SHARED_LIBRARY=1
299     -DLIBEXECDIR=\"${CMAKE_INSTALL_PREFIX}/${EXEC_INSTALL_DIR}\"
300     -DWEBPROCESSNAME=\"${WebProcess_EXECUTABLE_NAME}\"
301     -DPLUGINPROCESSNAME=\"${PluginProcess_EXECUTABLE_NAME}\"
302 )
303
304 ADD_LIBRARY(ewk2UnitTestUtils
305     ${WEBKIT2_EFL_TEST_DIR}/UnitTestUtils/EWK2UnitTestBase.cpp
306     ${WEBKIT2_EFL_TEST_DIR}/UnitTestUtils/EWK2UnitTestEnvironment.cpp
307     ${WEBKIT2_EFL_TEST_DIR}/UnitTestUtils/EWK2UnitTestMain.cpp
308     ${WEBKIT2_EFL_TEST_DIR}/UnitTestUtils/EWK2UnitTestServer.cpp
309 )
310
311 TARGET_LINK_LIBRARIES(ewk2UnitTestUtils ${EWK2UnitTests_LIBRARIES})
312
313 # The "ewk" on the test name needs to be suffixed with "2", otherwise it
314 # will clash with tests from the WebKit 1 test suite.
315 SET(EWK2UnitTests_BINARIES
316     test_ewk2_context
317     test_ewk2_cookie_manager
318     test_ewk2_download_job
319     test_ewk2_settings
320     test_ewk2_view
321 )
322
323 IF (ENABLE_API_TESTS)
324     FOREACH (testName ${EWK2UnitTests_BINARIES})
325         ADD_EXECUTABLE(${testName} ${WEBKIT2_EFL_TEST_DIR}/${testName}.cpp)
326         ADD_TEST(${testName} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${testName})
327         SET_TESTS_PROPERTIES(${testName} PROPERTIES TIMEOUT 60)
328         TARGET_LINK_LIBRARIES(${testName} ${EWK2UnitTests_LIBRARIES} ewk2UnitTestUtils)
329     ENDFOREACH ()
330 ENDIF ()
331
332 IF (ENABLE_SPELLCHECK)
333     LIST(APPEND WebKit2StaticForDebug_INCLUDE_DIRECTORIES
334         ${ENCHANT_INCLUDE_DIRS}
335     )
336     LIST(APPEND WebKit2_LIBRARIES
337         ${ENCHANT_LIBRARIES}
338     )
339 ENDIF()
340
341 IF (ENABLE_INSPECTOR)
342     SET(WK2_WEB_INSPECTOR_DIR ${CMAKE_BINARY_DIR}/WebKit2/efl/webinspector)
343     SET(WK2_WEB_INSPECTOR_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/share/${WebKit2_LIBRARY_NAME}-${PROJECT_VERSION_MAJOR})
344     ADD_DEFINITIONS(-DWK2_WEB_INSPECTOR_DIR="${WK2_WEB_INSPECTOR_DIR}")
345     ADD_DEFINITIONS(-DWK2_WEB_INSPECTOR_INSTALL_DIR="${WK2_WEB_INSPECTOR_INSTALL_DIR}/webinspector")
346     ADD_CUSTOM_TARGET(
347         wk2-web-inspector-resources ALL
348         COMMAND ${CMAKE_COMMAND} -E copy_directory ${WEBCORE_DIR}/inspector/front-end ${WK2_WEB_INSPECTOR_DIR}
349         COMMAND ${CMAKE_COMMAND} -E copy ${WEBCORE_DIR}/English.lproj/localizedStrings.js ${WK2_WEB_INSPECTOR_DIR}
350         COMMAND ${CMAKE_COMMAND} -E copy ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorBackendCommands.js ${WK2_WEB_INSPECTOR_DIR}/InspectorBackendCommands.js
351         DEPENDS ${WebCore_LIBRARY_NAME}
352     )
353     INSTALL(DIRECTORY ${WK2_WEB_INSPECTOR_DIR}
354         DESTINATION ${WK2_WEB_INSPECTOR_INSTALL_DIR}
355         FILES_MATCHING PATTERN "*.js"
356                        PATTERN "*.html"
357                        PATTERN "*.css"
358                        PATTERN "*.gif"
359                        PATTERN "*.png")
360 ENDIF ()
361