Merge "[WK2] Change tizen log for Geolocation" into tizen_2.1
[framework/web/webkit-efl.git] / Source / WebKit / PlatformEfl.cmake
1 LIST(APPEND WebKit_LINK_FLAGS
2     ${ECORE_X_LDFLAGS}
3     ${EDJE_LDFLAGS}
4     ${EFLDEPS_LDFLAGS}
5     ${EFREET_LDFLAGS}
6     ${EVAS_LDFLAGS}
7 )
8
9 LIST(APPEND WebKit_INCLUDE_DIRECTORIES
10     "${CMAKE_SOURCE_DIR}/Source"
11     "${WEBKIT_DIR}/efl/ewk"
12     "${WEBKIT_DIR}/efl/WebCoreSupport"
13     "${JAVASCRIPTCORE_DIR}/ForwardingHeaders"
14     "${WEBCORE_DIR}/platform/efl"
15     "${WEBCORE_DIR}/platform/graphics/cairo"
16     "${WEBCORE_DIR}/platform/graphics/efl"
17     "${WEBCORE_DIR}/platform/network/soup"
18     ${CAIRO_INCLUDE_DIRS}
19     ${ECORE_X_INCLUDE_DIRS}
20     ${EDJE_INCLUDE_DIRS}
21     ${EFLDEPS_INCLUDE_DIRS}
22     ${EFREET_INCLUDE_DIRS}
23     ${EVAS_INCLUDE_DIRS}
24     ${EUKIT_INCLUDE_DIRS}
25     ${EDBUS_INCLUDE_DIRS}
26     ${LIBXML2_INCLUDE_DIR}
27     ${LIBXSLT_INCLUDE_DIR}
28     ${SQLITE_INCLUDE_DIR}
29     ${Glib_INCLUDE_DIRS}
30     ${LIBSOUP24_INCLUDE_DIRS}
31 )
32
33 IF (ENABLE_SVG)
34   LIST(APPEND WebKit_INCLUDE_DIRECTORIES
35     "${WEBCORE_DIR}/svg"
36     "${WEBCORE_DIR}/svg/animation"
37     "${WEBCORE_DIR}/rendering/svg"
38   )
39 ENDIF ()
40
41 IF (ENABLE_VIDEO)
42 LIST(APPEND WebKit_INCLUDE_DIRECTORIES
43     "${WEBCORE_DIR}/platform/graphics/gstreamer"
44     ${GSTREAMER_APP_INCLUDE_DIRS}
45     ${GSTREAMER_INTERFACES_INCLUDE_DIRS}
46     ${GSTREAMER_PBUTILS_INCLUDE_DIRS}
47     ${GSTREAMER_VIDEO_INCLUDE_DIRS}
48 )
49 ENDIF()
50
51 IF (ENABLE_VIDEO_TRACK)
52   LIST(APPEND WebKit_INCLUDE_DIRECTORIES
53     "${WEBCORE_DIR}/html/track"
54   )
55 ENDIF ()
56
57 IF (WTF_USE_FREETYPE)
58   LIST(APPEND WebKit_INCLUDE_DIRECTORIES
59     "${WEBCORE_DIR}/platform/graphics/freetype"
60   )
61 ENDIF ()
62
63 IF (WTF_USE_PANGO)
64   LIST(APPEND WebKit_INCLUDE_DIRECTORIES
65     "${WEBCORE_DIR}/platform/graphics/pango"
66     ${Pango_INCLUDE_DIRS}
67   )
68   LIST(APPEND WebKit_LIBRARIES
69     ${Pango_LIBRARIES}
70   )
71 ENDIF ()
72
73 IF (ENABLE_NOTIFICATIONS)
74   LIST(APPEND WebKit_INCLUDE_DIRECTORIES
75     "${WEBCORE_DIR}/Modules/notifications"
76   )
77 ENDIF ()
78
79 IF (ENABLE_VIBRATION)
80   LIST(APPEND WebKit_INCLUDE_DIRECTORIES
81     "${WEBCORE_DIR}/Modules/vibration"
82   )
83 ENDIF ()
84
85 IF (ENABLE_BATTERY_STATUS)
86   LIST(APPEND WebKit_INCLUDE_DIRECTORIES
87     "${WEBCORE_DIR}/Modules/battery"
88   )
89 ENDIF ()
90
91 IF (ENABLE_REGISTER_PROTOCOL_HANDLER OR ENABLE_CUSTOM_SCHEME_HANDLER)
92   LIST(APPEND WebKit_INCLUDE_DIRECTORIES
93     "${WEBCORE_DIR}/Modules/protocolhandler"
94   )
95 ENDIF ()
96
97 LIST(APPEND WebKit_SOURCES
98     efl/WebCoreSupport/AssertMatchingEnums.cpp
99     efl/WebCoreSupport/BatteryClientEfl.cpp
100     efl/WebCoreSupport/ChromeClientEfl.cpp
101     efl/WebCoreSupport/DeviceOrientationClientEfl.cpp
102     efl/WebCoreSupport/DeviceMotionClientEfl.cpp
103     efl/WebCoreSupport/DragClientEfl.cpp
104     efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp
105     efl/WebCoreSupport/EditorClientEfl.cpp
106     efl/WebCoreSupport/FrameLoaderClientEfl.cpp
107     efl/WebCoreSupport/FrameNetworkingContextEfl.cpp
108     efl/WebCoreSupport/FullscreenVideoControllerEfl.cpp
109     efl/WebCoreSupport/IconDatabaseClientEfl.cpp
110     efl/WebCoreSupport/InspectorClientEfl.cpp
111     efl/WebCoreSupport/NetworkInfoClientEfl.cpp
112     efl/WebCoreSupport/NotificationPresenterClientEfl.cpp
113     efl/WebCoreSupport/PageClientEfl.cpp
114     efl/WebCoreSupport/PlatformStrategiesEfl.cpp 
115     efl/WebCoreSupport/RegisterProtocolHandlerClientEfl.cpp 
116     efl/WebCoreSupport/StorageTrackerClientEfl.cpp
117     efl/WebCoreSupport/VibrationClientEfl.cpp
118
119     efl/ewk/ewk_auth.cpp
120     efl/ewk/ewk_auth_soup.cpp
121     efl/ewk/ewk_contextmenu.cpp
122     efl/ewk/ewk_cookies.cpp
123     efl/ewk/ewk_custom_handler.cpp
124     efl/ewk/ewk_file_chooser.cpp
125     efl/ewk/ewk_frame.cpp
126     efl/ewk/ewk_history.cpp
127     efl/ewk/ewk_intent.cpp
128     efl/ewk/ewk_intent_request.cpp
129     efl/ewk/ewk_js.cpp
130     efl/ewk/ewk_main.cpp
131     efl/ewk/ewk_network.cpp
132     efl/ewk/ewk_paint_context.cpp
133     efl/ewk/ewk_security_origin.cpp
134     efl/ewk/ewk_security_policy.cpp
135     efl/ewk/ewk_settings.cpp
136     efl/ewk/ewk_tiled_backing_store.cpp
137     efl/ewk/ewk_tiled_matrix.cpp
138     efl/ewk/ewk_tiled_model.cpp
139     efl/ewk/ewk_util.cpp
140     efl/ewk/ewk_view.cpp
141     efl/ewk/ewk_view_single.cpp
142     efl/ewk/ewk_view_tiled.cpp
143     efl/ewk/ewk_window_features.cpp
144     efl/ewk/ewk_web_database.cpp
145 )
146
147 LIST(APPEND WebKit_LIBRARIES
148     ${CAIRO_LIBRARIES}
149     ${ECORE_X_LIBRARIES}
150     ${EFLDEPS_LIBRARIES}
151     ${EFREET_LIBRARIES}
152     ${EUKIT_LIBRARIES}
153     ${EDBUS_LIBRARIES}
154     ${FREETYPE_LIBRARIES}
155     ${LIBXML2_LIBRARIES}
156     ${SQLITE_LIBRARIES}
157     ${FONTCONFIG_LIBRARIES}
158     ${PNG_LIBRARY}
159     ${JPEG_LIBRARY}
160     ${CMAKE_DL_LIBS}
161     ${Glib_LIBRARIES}
162     ${LIBSOUP24_LIBRARIES}
163 )
164
165 IF (SHARED_CORE)
166     SET(LIBS_PRIVATE "-l${WTF_LIBRARY_NAME} -l${JavaScriptCore_LIBRARY_NAME} -l${WebCore_LIBRARY_NAME}")
167 ELSE ()
168     SET(LIBS_PRIVATE "")
169 ENDIF ()
170
171 CONFIGURE_FILE(
172     efl/ewebkit.pc.in
173     ${CMAKE_BINARY_DIR}/WebKit/efl/ewebkit.pc
174     @ONLY)
175 INSTALL(FILES ${CMAKE_BINARY_DIR}/WebKit/efl/ewebkit.pc
176     DESTINATION lib/pkgconfig)
177
178 UNSET(LIBS_PRIVATE)
179
180 SET(EWebKit_HEADERS
181     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/EWebKit.h
182     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_auth.h
183     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_contextmenu.h
184     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_cookies.h
185     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_file_chooser.h
186     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_frame.h
187     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_history.h
188     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_intent.h
189     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_intent_request.h
190     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_js.h
191     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_main.h
192     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_network.h
193     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_security_origin.h
194     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_security_policy.h
195     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_settings.h
196     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_view.h
197     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_window_features.h
198     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_web_database.h
199 )
200
201 INSTALL(FILES ${EWebKit_HEADERS}
202         DESTINATION include/${WebKit_LIBRARY_NAME}-${PROJECT_VERSION_MAJOR})
203
204 INCLUDE_DIRECTORIES(${THIRDPARTY_DIR}/gtest/include)
205
206 SET(EWKUnitTests_LIBRARIES
207     ${WTF_LIBRARY_NAME}
208     ${JavaScriptCore_LIBRARY_NAME}
209     ${WebCore_LIBRARY_NAME}
210     ${WebKit_LIBRARY_NAME}
211     ${ECORE_LIBRARIES}
212     ${ECORE_EVAS_LIBRARIES}
213     ${EVAS_LIBRARIES}
214     ${EDJE_LIBRARIES}
215     gtest
216 )
217
218 SET(EWKUnitTests_INCLUDE_DIRECTORIES
219     "${CMAKE_SOURCE_DIR}/Source"
220     "${WEBKIT_DIR}/efl/ewk"
221     "${JAVASCRIPTCORE_DIR}"
222     "${WTF_DIR}"
223     "${WTF_DIR}/wtf"
224     ${ECORE_INCLUDE_DIRS}
225     ${ECORE_EVAS_INCLUDE_DIRS}
226     ${EVAS_INCLUDE_DIRS}
227     ${EDJE_INCLUDE_DIRS}
228 )
229
230 SET(EWKUnitTests_LINK_FLAGS
231     ${ECORE_LDFLAGS}
232     ${ECORE_EVAS_LDFLAGS}
233     ${EVAS_LDFLAGS}
234     ${EDJE_LDFLAGS}
235 )
236
237 IF (ENABLE_GLIB_SUPPORT)
238     LIST(APPEND EWKUnitTests_INCLUDE_DIRECTORIES "${WTF_DIR}/wtf/gobject")
239     LIST(APPEND EWKUnitTests_LIBRARIES
240         ${Glib_LIBRARIES}
241         ${Gthread_LIBRARIES}
242     )
243 ENDIF ()
244
245 SET(DEFAULT_TEST_PAGE_DIR ${CMAKE_SOURCE_DIR}/Source/WebKit/efl/tests/resources)
246
247 ADD_DEFINITIONS(-DDEFAULT_TEST_PAGE_DIR=\"${DEFAULT_TEST_PAGE_DIR}\"
248     -DDEFAULT_THEME_PATH=\"${THEME_BINARY_DIR}\"
249     -DGTEST_LINKED_AS_SHARED_LIBRARY=1
250 )
251
252 ADD_LIBRARY(ewkTestUtils
253     ${WEBKIT_DIR}/efl/tests/UnitTestUtils/EWKTestBase.cpp
254     ${WEBKIT_DIR}/efl/tests/UnitTestUtils/EWKTestView.cpp
255 )
256 TARGET_LINK_LIBRARIES(ewkTestUtils ${EWKUnitTests_LIBRARIES})
257
258 SET(WEBKIT_EFL_TEST_DIR "${WEBKIT_DIR}/efl/tests/")
259
260 SET(EWKUnitTests_BINARIES
261     test_ewk_view
262 )
263
264 IF (ENABLE_API_TESTS)
265     FOREACH (testName ${EWKUnitTests_BINARIES})
266         ADD_EXECUTABLE(${testName} ${WEBKIT_EFL_TEST_DIR}/${testName}.cpp ${WEBKIT_EFL_TEST_DIR}/test_runner.cpp)
267         ADD_TEST(${testName} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${testName})
268         SET_TESTS_PROPERTIES(${testName} PROPERTIES TIMEOUT 60)
269         TARGET_LINK_LIBRARIES(${testName} ${EWKUnitTests_LIBRARIES} ewkTestUtils)
270         ADD_TARGET_PROPERTIES(${testName} LINK_FLAGS "${EWKUnitTests_LINK_FLAGS}")
271         SET_TARGET_PROPERTIES(${testName} PROPERTIES FOLDER "WebKit")
272     ENDFOREACH ()
273 ENDIF ()
274
275 IF (ENABLE_INSPECTOR)
276     SET(WEB_INSPECTOR_DIR ${CMAKE_BINARY_DIR}/WebKit/efl/webinspector)
277     ADD_DEFINITIONS(-DWEB_INSPECTOR_DIR="${WEB_INSPECTOR_DIR}")
278     ADD_DEFINITIONS(-DWEB_INSPECTOR_INSTALL_DIR="${CMAKE_INSTALL_PREFIX}/${DATA_INSTALL_DIR}/webinspector")
279     ADD_CUSTOM_TARGET(
280         web-inspector-resources ALL
281         COMMAND ${CMAKE_COMMAND} -E copy_directory ${WEBCORE_DIR}/inspector/front-end ${WEB_INSPECTOR_DIR}
282         COMMAND ${CMAKE_COMMAND} -E copy ${WEBCORE_DIR}/English.lproj/localizedStrings.js ${WEB_INSPECTOR_DIR}
283         COMMAND ${CMAKE_COMMAND} -E copy ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorBackendCommands.js ${WEB_INSPECTOR_DIR}/InspectorBackendCommands.js
284         DEPENDS ${WebCore_LIBRARY_NAME}
285     )
286     INSTALL(DIRECTORY ${WEB_INSPECTOR_DIR}
287         DESTINATION ${CMAKE_INSTALL_PREFIX}/${DATA_INSTALL_DIR}
288         FILES_MATCHING PATTERN "*.js"
289                        PATTERN "*.html"
290                        PATTERN "*.css"
291                        PATTERN "*.gif"
292                        PATTERN "*.png")
293 ENDIF ()