daf22876ea3760c60c036cd174eb82a4cdc57ba1
[WebKit-https.git] / Source / WebKit / PlatformEfl.cmake
1 LIST(APPEND WebKit_LINK_FLAGS
2     ${ECORE_X_LDFLAGS}
3     ${EDJE_LDFLAGS}
4     ${EFLDEPS_LDFLAGS}
5     ${EVAS_LDFLAGS}
6 )
7
8 LIST(APPEND WebKit_INCLUDE_DIRECTORIES
9     "${WEBKIT_DIR}/efl/ewk"
10     "${WEBKIT_DIR}/efl/WebCoreSupport"
11     "${JAVASCRIPTCORE_DIR}/wtf/gobject"
12     "${WEBCORE_DIR}/platform/efl"
13     "${WEBCORE_DIR}/platform/graphics/cairo"
14     ${Cairo_INCLUDE_DIRS}
15     ${ECORE_X_INCLUDE_DIRS}
16     ${EDJE_INCLUDE_DIRS}
17     ${EFLDEPS_INCLUDE_DIRS}
18     ${EVAS_INCLUDE_DIRS}
19     ${LIBXML2_INCLUDE_DIR}
20     ${LIBXSLT_INCLUDE_DIR}
21     ${SQLITE_INCLUDE_DIR}
22     ${Glib_INCLUDE_DIRS}
23     ${LIBSOUP24_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 (WTF_USE_FREETYPE)
45   LIST(APPEND WebKit_INCLUDE_DIRECTORIES
46     "${WEBCORE_DIR}/platform/graphics/freetype"
47   )
48 ENDIF ()
49
50 IF (WTF_USE_PANGO)
51   LIST(APPEND WebKit_INCLUDE_DIRECTORIES
52     "${WEBCORE_DIR}/platform/graphics/pango"
53     ${Pango_INCLUDE_DIRS}
54   )
55   LIST(APPEND WebKit_LIBRARIES
56     ${Pango_LIBRARIES}
57   )
58 ENDIF ()
59
60 IF (ENABLE_NOTIFICATIONS)
61   LIST(APPEND WebKit_INCLUDE_DIRECTORIES
62     "${WEBCORE_DIR}/notifications"
63   )
64 ENDIF ()
65
66 LIST(APPEND WebKit_SOURCES
67     efl/WebCoreSupport/AssertMatchingEnums.cpp
68     efl/WebCoreSupport/ChromeClientEfl.cpp
69     efl/WebCoreSupport/DeviceOrientationClientEfl.cpp
70     efl/WebCoreSupport/DeviceMotionClientEfl.cpp
71     efl/WebCoreSupport/DragClientEfl.cpp
72     efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp
73     efl/WebCoreSupport/EditorClientEfl.cpp
74     efl/WebCoreSupport/FrameLoaderClientEfl.cpp
75     efl/WebCoreSupport/FrameNetworkingContextEfl.cpp
76     efl/WebCoreSupport/FullscreenVideoControllerEfl.cpp
77     efl/WebCoreSupport/IconDatabaseClientEfl.cpp
78     efl/WebCoreSupport/StorageTrackerClientEfl.cpp
79     efl/WebCoreSupport/InspectorClientEfl.cpp
80     efl/WebCoreSupport/NotificationPresenterClientEfl.cpp
81
82     efl/ewk/ewk_auth.cpp
83     efl/ewk/ewk_auth_soup.cpp
84     efl/ewk/ewk_contextmenu.cpp
85     efl/ewk/ewk_cookies.cpp
86     efl/ewk/ewk_frame.cpp
87     efl/ewk/ewk_history.cpp
88     efl/ewk/ewk_js.cpp
89     efl/ewk/ewk_main.cpp
90     efl/ewk/ewk_network.cpp
91     efl/ewk/ewk_security_policy.cpp
92     efl/ewk/ewk_settings.cpp
93     efl/ewk/ewk_tiled_backing_store.cpp
94     efl/ewk/ewk_tiled_matrix.cpp
95     efl/ewk/ewk_tiled_model.cpp
96     efl/ewk/ewk_util.cpp
97     efl/ewk/ewk_view.cpp
98     efl/ewk/ewk_view_single.cpp
99     efl/ewk/ewk_view_tiled.cpp
100     efl/ewk/ewk_window_features.cpp
101 )
102
103 LIST(APPEND WebKit_LIBRARIES
104     ${Cairo_LIBRARIES}
105     ${ECORE_X_LIBRARIES}
106     ${EFLDEPS_LIBRARIES}
107     ${FREETYPE_LIBRARIES}
108     ${LIBXML2_LIBRARIES}
109     ${SQLITE_LIBRARIES}
110     ${FONTCONFIG_LIBRARIES}
111     ${PNG_LIBRARY}
112     ${JPEG_LIBRARY}
113     ${CMAKE_DL_LIBS}
114     ${Glib_LIBRARIES}
115     ${LIBSOUP24_LIBRARIES}
116 )
117
118 IF (ENABLE_VIBRATION)
119     LIST(APPEND WebKit_INCLUDE_DIRECTORIES
120         ${WEBCORE_DIR}/Modules/vibration
121     )
122     LIST(APPEND WebKit_SOURCES
123         efl/WebCoreSupport/VibrationClientEfl.cpp
124     )
125 ENDIF ()
126
127
128 SET(WebKit_THEME_DEFINITION "")
129 IF (ENABLE_PROGRESS_TAG)
130   LIST(APPEND WebKit_THEME_DEFINITION "-DENABLE_PROGRESS_TAG")
131 ENDIF ()
132
133 FILE(MAKE_DIRECTORY ${THEME_BINARY_DIR})
134 SET(WebKit_THEME ${THEME_BINARY_DIR}/default.edj)
135 ADD_CUSTOM_COMMAND(
136   OUTPUT ${WebKit_THEME}
137   COMMAND ${EDJE_CC_EXECUTABLE} -v -id ${WEBKIT_DIR}/efl/DefaultTheme ${WebKit_THEME_DEFINITION} ${WEBKIT_DIR}/efl/DefaultTheme/default.edc ${WebKit_THEME}
138   DEPENDS
139     ${WEBKIT_DIR}/efl/DefaultTheme/default.edc
140     ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_knob_v.png
141     ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_knob_press_v.png
142     ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_v.png
143     ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider.edc
144     ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_knob_press_h.png
145     ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_knob_h.png
146     ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_fill_v.png
147     ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_fill_h.png
148     ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_h.png
149     ${WEBKIT_DIR}/efl/DefaultTheme/widget/combo/combo_focus_button.png
150     ${WEBKIT_DIR}/efl/DefaultTheme/widget/combo/combo_press.png
151     ${WEBKIT_DIR}/efl/DefaultTheme/widget/combo/icon.png
152     ${WEBKIT_DIR}/efl/DefaultTheme/widget/combo/combo_normal.png
153     ${WEBKIT_DIR}/efl/DefaultTheme/widget/combo/combo_hover.png
154     ${WEBKIT_DIR}/efl/DefaultTheme/widget/combo/combo_normal_button.png
155     ${WEBKIT_DIR}/efl/DefaultTheme/widget/combo/combo_focus.png
156     ${WEBKIT_DIR}/efl/DefaultTheme/widget/combo/combo_hover_button.png
157     ${WEBKIT_DIR}/efl/DefaultTheme/widget/combo/combo.edc
158     ${WEBKIT_DIR}/efl/DefaultTheme/widget/combo/combo_press_button.png
159     ${WEBKIT_DIR}/efl/DefaultTheme/widget/search/decoration/search_decoration.edc
160     ${WEBKIT_DIR}/efl/DefaultTheme/widget/search/decoration/decoration_normal_button.png
161     ${WEBKIT_DIR}/efl/DefaultTheme/widget/search/field/field_hovered.png
162     ${WEBKIT_DIR}/efl/DefaultTheme/widget/search/field/search_field.edc
163     ${WEBKIT_DIR}/efl/DefaultTheme/widget/search/field/field_normal.png
164     ${WEBKIT_DIR}/efl/DefaultTheme/widget/search/field/field_focused.png
165     ${WEBKIT_DIR}/efl/DefaultTheme/widget/search/cancel/cancel_normal_button.png
166     ${WEBKIT_DIR}/efl/DefaultTheme/widget/search/cancel/cancel_normal_button2.png
167     ${WEBKIT_DIR}/efl/DefaultTheme/widget/search/cancel/search_cancel.edc
168     ${WEBKIT_DIR}/efl/DefaultTheme/widget/check/img_check_off_focus.png
169     ${WEBKIT_DIR}/efl/DefaultTheme/widget/check/check.edc
170     ${WEBKIT_DIR}/efl/DefaultTheme/widget/check/img_check_on_focus.png
171     ${WEBKIT_DIR}/efl/DefaultTheme/widget/check/img_check_on_hover.png
172     ${WEBKIT_DIR}/efl/DefaultTheme/widget/check/img_check_off_hover.png
173     ${WEBKIT_DIR}/efl/DefaultTheme/widget/check/img_check_off.png
174     ${WEBKIT_DIR}/efl/DefaultTheme/widget/check/img_check_on.png
175     ${WEBKIT_DIR}/efl/DefaultTheme/widget/radio/img_radio_on.png
176     ${WEBKIT_DIR}/efl/DefaultTheme/widget/radio/img_radio_off_focus.png
177     ${WEBKIT_DIR}/efl/DefaultTheme/widget/radio/img_radio_off_hover.png
178     ${WEBKIT_DIR}/efl/DefaultTheme/widget/radio/img_radio_on_focus.png
179     ${WEBKIT_DIR}/efl/DefaultTheme/widget/radio/radio.edc
180     ${WEBKIT_DIR}/efl/DefaultTheme/widget/radio/img_radio_off.png
181     ${WEBKIT_DIR}/efl/DefaultTheme/widget/radio/img_radio_on_hover.png
182     ${WEBKIT_DIR}/efl/DefaultTheme/widget/button/img_button_normal.png
183     ${WEBKIT_DIR}/efl/DefaultTheme/widget/button/img_button_press.png
184     ${WEBKIT_DIR}/efl/DefaultTheme/widget/button/img_button_focus.png
185     ${WEBKIT_DIR}/efl/DefaultTheme/widget/button/img_button_hover.png
186     ${WEBKIT_DIR}/efl/DefaultTheme/widget/button/button.edc
187     ${WEBKIT_DIR}/efl/DefaultTheme/widget/entry/entry.edc
188     ${WEBKIT_DIR}/efl/DefaultTheme/widget/entry/img_normal.png
189     ${WEBKIT_DIR}/efl/DefaultTheme/widget/entry/img_focused.png
190     ${WEBKIT_DIR}/efl/DefaultTheme/widget/entry/img_hovered.png
191     ${WEBKIT_DIR}/efl/DefaultTheme/widget/scrollbar/scrollbar_h.png
192     ${WEBKIT_DIR}/efl/DefaultTheme/widget/scrollbar/scrollbar_v.png
193     ${WEBKIT_DIR}/efl/DefaultTheme/widget/scrollbar/scrollbar_knob_v.png
194     ${WEBKIT_DIR}/efl/DefaultTheme/widget/scrollbar/scrollbar_knob_h.png
195     ${WEBKIT_DIR}/efl/DefaultTheme/widget/scrollbar/scrollbar.edc
196     ${WEBKIT_DIR}/efl/DefaultTheme/widget/file/file_normal.png
197     ${WEBKIT_DIR}/efl/DefaultTheme/widget/file/file_press.png
198     ${WEBKIT_DIR}/efl/DefaultTheme/widget/file/file_hover.png
199     ${WEBKIT_DIR}/efl/DefaultTheme/widget/file/file_focus.png
200     ${WEBKIT_DIR}/efl/DefaultTheme/widget/file/file.edc
201     ${WEBKIT_DIR}/efl/DefaultTheme/widget/progressbar/progressbar.edc
202     ${WEBKIT_DIR}/efl/DefaultTheme/widget/progressbar/shelf_inset.png
203     ${WEBKIT_DIR}/efl/DefaultTheme/widget/progressbar/bt_base.png
204   VERBATIM
205 )
206
207 LIST(APPEND WebKit_SOURCES
208      ${WebKit_THEME}
209 )
210
211 IF (SHARED_CORE)
212     SET(LIBS_PRIVATE "-l${WTF_LIBRARY_NAME} -l${JavaScriptCore_LIBRARY_NAME} -l${WebCore_LIBRARY_NAME}")
213 ELSE ()
214     SET(LIBS_PRIVATE "")
215 ENDIF ()
216
217 CONFIGURE_FILE(
218     efl/ewebkit.pc.in
219     ${CMAKE_BINARY_DIR}/WebKit/efl/ewebkit.pc
220     @ONLY)
221 INSTALL(FILES ${CMAKE_BINARY_DIR}/WebKit/efl/ewebkit.pc
222     DESTINATION lib/pkgconfig)
223
224 UNSET(LIBS_PRIVATE)
225
226 SET(EWebKit_HEADERS
227     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/EWebKit.h
228     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_auth.h
229     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_auth_soup.h
230     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_contextmenu.h
231     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_cookies.h
232     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_frame.h
233     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_history.h
234     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_js.h
235     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_logging.h
236     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_main.h
237     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_network.h
238     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_security_policy.h
239     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_settings.h
240     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_view.h
241     ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_window_features.h
242 )
243
244 INSTALL(FILES ${EWebKit_HEADERS}
245         DESTINATION include/${WebKit_LIBRARY_NAME}-${PROJECT_VERSION_MAJOR})
246
247 INSTALL(FILES ${WebKit_THEME}
248         DESTINATION ${DATA_INSTALL_DIR}/themes)