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