1list(APPEND WebKit_INCLUDE_DIRECTORIES
2    "${WEBKIT_DIR}/efl/ewk"
3    "${WEBKIT_DIR}/efl/WebCoreSupport"
4    "${WEBCORE_DIR}/platform/efl"
5    "${WEBCORE_DIR}/platform/graphics/cairo"
6    "${WEBCORE_DIR}/platform/graphics/efl"
7    "${WEBCORE_DIR}/platform/graphics/freetype"
8    "${WEBCORE_DIR}/platform/mock"
9    "${WEBCORE_DIR}/platform/network/soup"
10    ${CAIRO_INCLUDE_DIRS}
11    ${ECORE_EVAS_INCLUDE_DIRS}
12    ${ECORE_INCLUDE_DIRS}
13    ${ECORE_INPUT_INCLUDE_DIRS}
14    ${ECORE_X_INCLUDE_DIRS}
15    ${EDJE_INCLUDE_DIRS}
16    ${EFREET_INCLUDE_DIRS}
17    ${EINA_INCLUDE_DIRS}
18    ${EO_INCLUDE_DIRS}
19    ${EVAS_INCLUDE_DIRS}
20    ${GLIB_INCLUDE_DIRS}
21    ${HARFBUZZ_INCLUDE_DIRS}
22    ${LIBSOUP_INCLUDE_DIRS}
23    ${LIBXML2_INCLUDE_DIR}
24    ${LIBXSLT_INCLUDE_DIR}
25    ${SQLITE_INCLUDE_DIR}
26)
27
28if (ENABLE_SVG)
29    list(APPEND WebKit_INCLUDE_DIRECTORIES
30        "${WEBCORE_DIR}/svg"
31        "${WEBCORE_DIR}/svg/animation"
32        "${WEBCORE_DIR}/rendering/svg"
33    )
34endif ()
35
36if (ENABLE_VIDEO)
37    list(APPEND WebKit_INCLUDE_DIRECTORIES
38        "${WEBCORE_DIR}/platform/graphics/gstreamer"
39        ${GSTREAMER_APP_INCLUDE_DIRS}
40        ${GSTREAMER_PBUTILS_INCLUDE_DIRS}
41        ${GSTREAMER_VIDEO_INCLUDE_DIRS}
42    )
43endif ()
44
45if (ENABLE_VIDEO_TRACK)
46    list(APPEND WebKit_INCLUDE_DIRECTORIES
47        "${WEBCORE_DIR}/html/track"
48    )
49endif ()
50
51if (ENABLE_NOTIFICATIONS)
52    list(APPEND WebKit_INCLUDE_DIRECTORIES
53        "${WEBCORE_DIR}/Modules/notifications"
54    )
55endif ()
56
57if (ENABLE_VIBRATION)
58    list(APPEND WebKit_INCLUDE_DIRECTORIES
59        "${WEBCORE_DIR}/Modules/vibration"
60    )
61endif ()
62
63if (ENABLE_BATTERY_STATUS)
64    list(APPEND WebKit_INCLUDE_DIRECTORIES
65        "${WEBCORE_DIR}/Modules/battery"
66    )
67endif ()
68
69if (ENABLE_NAVIGATOR_CONTENT_UTILS)
70    list(APPEND WebKit_INCLUDE_DIRECTORIES
71        "${WEBCORE_DIR}/Modules/navigatorcontentutils"
72    )
73endif ()
74
75if (WTF_USE_3D_GRAPHICS)
76    list(APPEND WebKit_INCLUDE_DIRECTORIES
77        "${WEBCORE_DIR}/platform/graphics/surfaces"
78        "${WEBCORE_DIR}/platform/graphics/texmap"
79        "${THIRDPARTY_DIR}/ANGLE/include/KHR"
80        "${THIRDPARTY_DIR}/ANGLE/include/GLSLANG"
81    )
82endif ()
83
84if (ENABLE_GEOLOCATION)
85    list(APPEND WebKit_INCLUDE_DIRECTORIES
86        "${WEBCORE_DIR}/Modules/geolocation"
87    )
88endif ()
89
90if (ENABLE_ACCESSIBILITY)
91    list(APPEND WebKit_INCLUDE_DIRECTORIES
92        "${WEBCORE_DIR}/accessibility"
93        "${WEBCORE_DIR}/accessibility/atk"
94        ${ATK_INCLUDE_DIRS}
95    )
96    list(APPEND WebKit_LIBRARIES
97        ${ATK_LIBRARIES}
98    )
99endif ()
100
101list(APPEND WebKit_SOURCES
102    efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp
103    efl/WebCoreSupport/AssertMatchingEnums.cpp
104    efl/WebCoreSupport/BatteryClientEfl.cpp
105    efl/WebCoreSupport/ChromeClientEfl.cpp
106    efl/WebCoreSupport/ColorChooserEfl.cpp
107    efl/WebCoreSupport/ContextMenuClientEfl.cpp
108    efl/WebCoreSupport/DeviceOrientationClientEfl.cpp
109    efl/WebCoreSupport/DeviceMotionClientEfl.cpp
110    efl/WebCoreSupport/DragClientEfl.cpp
111    efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp
112    efl/WebCoreSupport/EditorClientEfl.cpp
113    efl/WebCoreSupport/FrameLoaderClientEfl.cpp
114    efl/WebCoreSupport/FrameNetworkingContextEfl.cpp
115    efl/WebCoreSupport/FullscreenVideoControllerEfl.cpp
116    efl/WebCoreSupport/IconDatabaseClientEfl.cpp
117    efl/WebCoreSupport/InspectorClientEfl.cpp
118    efl/WebCoreSupport/NavigatorContentUtilsClientEfl.cpp
119    efl/WebCoreSupport/NetworkInfoClientEfl.cpp
120    efl/WebCoreSupport/NotificationPresenterClientEfl.cpp
121    efl/WebCoreSupport/PageClientEfl.cpp
122    efl/WebCoreSupport/PlatformStrategiesEfl.cpp
123    efl/WebCoreSupport/PopupMenuEfl.cpp
124    efl/WebCoreSupport/SearchPopupMenuEfl.cpp
125    efl/WebCoreSupport/StorageTrackerClientEfl.cpp
126    efl/WebCoreSupport/VibrationClientEfl.cpp
127
128    efl/ewk/ewk_auth.cpp
129    efl/ewk/ewk_auth_soup.cpp
130    efl/ewk/ewk_contextmenu.cpp
131    efl/ewk/ewk_cookies.cpp
132    efl/ewk/ewk_custom_handler.cpp
133    efl/ewk/ewk_file_chooser.cpp
134    efl/ewk/ewk_frame.cpp
135    efl/ewk/ewk_history.cpp
136    efl/ewk/ewk_js.cpp
137    efl/ewk/ewk_main.cpp
138    efl/ewk/ewk_network.cpp
139    efl/ewk/ewk_paint_context.cpp
140    efl/ewk/ewk_security_origin.cpp
141    efl/ewk/ewk_security_policy.cpp
142    efl/ewk/ewk_settings.cpp
143    efl/ewk/ewk_tiled_backing_store.cpp
144    efl/ewk/ewk_tiled_matrix.cpp
145    efl/ewk/ewk_tiled_model.cpp
146    efl/ewk/ewk_touch_event.cpp
147    efl/ewk/ewk_view.cpp
148    efl/ewk/ewk_view_single.cpp
149    efl/ewk/ewk_view_tiled.cpp
150    efl/ewk/ewk_window_features.cpp
151    efl/ewk/ewk_web_database.cpp
152)
153
154list(APPEND WebKit_LIBRARIES
155    ${CAIRO_LIBRARIES}
156    ${ECORE_LIBRARIES}
157    ${ECORE_EVAS_LIBRARIES}
158    ${ECORE_INPUT_LIBRARIES}
159    ${EFREET_LIBRARIES}
160    ${EO_LIBRARIES}
161    ${EVAS_LIBRARIES}
162    ${FREETYPE_LIBRARIES}
163    ${HARFBUZZ_LIBRARIES}
164    ${LIBXML2_LIBRARIES}
165    ${SQLITE_LIBRARIES}
166    ${FONTCONFIG_LIBRARIES}
167    ${PNG_LIBRARIES}
168    ${JPEG_LIBRARIES}
169    ${CMAKE_DL_LIBS}
170    ${GLIB_LIBRARIES}
171    ${GLIB_GOBJECT_LIBRARIES}
172    ${LIBSOUP_LIBRARIES}
173)
174
175if (SHARED_CORE)
176    set(LIBS_PRIVATE "-l${WTF_OUTPUT_NAME} -l${JavaScriptCore_OUTPUT_NAME} -l${WebCore_OUTPUT_NAME}")
177else ()
178    set(LIBS_PRIVATE "")
179endif ()
180
181configure_file(
182    efl/ewebkit.pc.in
183    ${CMAKE_BINARY_DIR}/WebKit/efl/ewebkit.pc
184    @ONLY)
185install(FILES ${CMAKE_BINARY_DIR}/WebKit/efl/ewebkit.pc
186    DESTINATION lib/pkgconfig)
187
188unset(LIBS_PRIVATE)
189
190set(EWebKit_HEADERS
191    ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/EWebKit.h
192    ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_auth.h
193    ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_contextmenu.h
194    ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_cookies.h
195    ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_file_chooser.h
196    ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_frame.h
197    ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_history.h
198    ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_js.h
199    ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_main.h
200    ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_network.h
201    ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_security_origin.h
202    ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_security_policy.h
203    ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_settings.h
204    ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_view.h
205    ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_window_features.h
206    ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_web_database.h
207)
208
209install(FILES ${EWebKit_HEADERS}
210        DESTINATION include/${WebKit_OUTPUT_NAME}-${PROJECT_VERSION_MAJOR})
211
212include_directories(${THIRDPARTY_DIR}/gtest/include)
213
214set(EWKUnitTests_LIBRARIES
215    WTF
216    JavaScriptCore
217    WebCore
218    WebKit
219    ${ECORE_LIBRARIES}
220    ${ECORE_EVAS_LIBRARIES}
221    ${EVAS_LIBRARIES}
222    ${EDJE_LIBRARIES}
223    gtest
224)
225
226set(EWKUnitTests_INCLUDE_DIRECTORIES
227    "${CMAKE_SOURCE_DIR}/Source"
228    "${WEBKIT_DIR}/efl/ewk"
229    "${JAVASCRIPTCORE_DIR}"
230    "${WTF_DIR}"
231    "${WTF_DIR}/wtf"
232    ${ECORE_INCLUDE_DIRS}
233    ${ECORE_EVAS_INCLUDE_DIRS}
234    ${EVAS_INCLUDE_DIRS}
235    ${EDJE_INCLUDE_DIRS}
236)
237
238list(APPEND EWKUnitTests_INCLUDE_DIRECTORIES "${WTF_DIR}/wtf/gobject")
239list(APPEND EWKUnitTests_LIBRARIES
240    ${GLIB_LIBRARIES}
241    ${GLIB_GTHREAD_LIBRARIES}
242)
243
244set(DEFAULT_TEST_PAGE_DIR ${CMAKE_SOURCE_DIR}/Source/WebKit/efl/tests/resources)
245
246add_definitions(-DDEFAULT_TEST_PAGE_DIR=\"${DEFAULT_TEST_PAGE_DIR}\"
247    -DDEFAULT_THEME_PATH=\"${THEME_BINARY_DIR}\"
248    -DGTEST_LINKED_AS_SHARED_LIBRARY=1
249)
250
251add_library(ewkTestUtils
252    ${WEBKIT_DIR}/efl/tests/UnitTestUtils/EWKTestBase.cpp
253    ${WEBKIT_DIR}/efl/tests/UnitTestUtils/EWKTestEnvironment.cpp
254    ${WEBKIT_DIR}/efl/tests/UnitTestUtils/EWKTestView.cpp
255)
256target_link_libraries(ewkTestUtils ${EWKUnitTests_LIBRARIES})
257
258set(WEBKIT_EFL_TEST_DIR "${WEBKIT_DIR}/efl/tests/")
259
260set(EWKUnitTests_BINARIES
261    test_ewk_contextmenu
262    test_ewk_frame
263    test_ewk_view
264    test_ewk_setting
265)
266
267if (ENABLE_API_TESTS)
268    foreach (testName ${EWKUnitTests_BINARIES})
269        add_executable(${testName} ${WEBKIT_EFL_TEST_DIR}/${testName}.cpp ${WEBKIT_EFL_TEST_DIR}/test_runner.cpp)
270        add_test(${testName} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${testName})
271        set_tests_properties(${testName} PROPERTIES TIMEOUT 60)
272        target_link_libraries(${testName} ${EWKUnitTests_LIBRARIES} ewkTestUtils)
273        set_target_properties(${testName} PROPERTIES FOLDER "WebKit")
274    endforeach ()
275endif ()
276
277