[GTK] [CMake] Clean up generated sources directories
[WebKit-https.git] / Source / WebKit / PlatformGTK.cmake
1 file(MAKE_DIRECTORY ${DERIVED_SOURCES_WEBKITGTK_DIR})
2 file(MAKE_DIRECTORY ${DERIVED_SOURCES_WEBKITGTK_API_DIR})
3 configure_file(gtk/webkit/webkitversion.h.in ${DERIVED_SOURCES_WEBKITGTK_API_DIR}/webkitversion.h)
4 configure_file(gtk/webkit.pc.in ${CMAKE_BINARY_DIR}/Source/WebKit/gtk/webkitgtk-3.0.pc @ONLY)
5
6 add_definitions(-DPACKAGE_LOCALE_DIR="${CMAKE_INSTALL_FULL_LOCALEDIR}")
7
8 list(APPEND WebKit_INCLUDE_DIRECTORIES
9     ${DERIVED_SOURCES_DIR}
10     ${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}
11     ${DERIVED_SOURCES_WEBKITGTK_DIR}
12     ${DERIVED_SOURCES_WEBKITGTK_API_DIR}
13     ${THIRDPARTY_DIR}/ANGLE/include/GLSLANG
14     ${THIRDPARTY_DIR}/ANGLE/src
15     ${THIRDPARTY_DIR}/ANGLE/include
16     ${THIRDPARTY_DIR}/ANGLE/include/KHR
17     ${THIRDPARTY_DIR}/ANGLE/include/GLSLANG
18     ${WEBCORE_DIR}/ForwardingHeaders
19     ${WEBCORE_DIR}/accessibility/atk
20     ${WEBCORE_DIR}/platform/cairo
21     ${WEBCORE_DIR}/platform/graphics/cairo
22     ${WEBCORE_DIR}/platform/graphics/gtk
23     ${WEBCORE_DIR}/platform/graphics/opentype
24     ${WEBCORE_DIR}/platform/graphics/texmap
25     ${WEBCORE_DIR}/platform/gtk
26     ${WEBCORE_DIR}/platform/network/soup
27     ${WEBCORE_DIR}/platform/text/enchant
28     ${WEBKIT_DIR}/gtk
29     ${WEBKIT_DIR}/gtk/webkit
30     ${WEBKIT_DIR}/gtk/WebCoreSupport
31     ${ENCHANT_INCLUDE_DIRS}
32     ${GTK3_INCLUDE_DIRS}
33     ${LIBSOUP_INCLUDE_DIRS}
34 )
35
36 list(APPEND WebKit_SOURCES
37     ${DERIVED_SOURCES_WEBKITGTK_API_DIR}/webkitenumtypes.cpp
38     ${DERIVED_SOURCES_WEBKITGTK_API_DIR}/webkitmarshal.cpp
39
40     gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp
41     gtk/WebCoreSupport/AssertMatchingEnums.cpp
42     gtk/WebCoreSupport/ChromeClientGtk.cpp
43     gtk/WebCoreSupport/ContextMenuClientGtk.cpp
44     gtk/WebCoreSupport/DeviceMotionClientGtk.cpp
45     gtk/WebCoreSupport/DeviceOrientationClientGtk.cpp
46     gtk/WebCoreSupport/DocumentLoaderGtk.cpp
47     gtk/WebCoreSupport/DragClientGtk.cpp
48     gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp
49     gtk/WebCoreSupport/EditorClientGtk.cpp
50     gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
51     gtk/WebCoreSupport/FrameNetworkingContextGtk.cpp
52     gtk/WebCoreSupport/GeolocationClientGtk.cpp
53     gtk/WebCoreSupport/GtkAdjustmentWatcher.cpp
54     gtk/WebCoreSupport/InspectorClientGtk.cpp
55     gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.cpp
56     gtk/WebCoreSupport/PlatformStrategiesGtk.cpp
57     gtk/WebCoreSupport/TextCheckerClientGtk.cpp
58     gtk/WebCoreSupport/UserMediaClientGtk.cpp
59     gtk/WebCoreSupport/WebViewInputMethodFilter.cpp
60
61     gtk/webkit/webkitapplicationcache.cpp
62     gtk/webkit/webkitauthenticationdialog.cpp
63     gtk/webkit/webkitdownload.cpp
64     gtk/webkit/webkiterror.cpp
65     gtk/webkit/webkitfavicondatabase.cpp
66     gtk/webkit/webkitfilechooserrequest.cpp
67     gtk/webkit/webkitgeolocationpolicydecision.cpp
68     gtk/webkit/webkitglobals.cpp
69     gtk/webkit/webkithittestresult.cpp
70     gtk/webkit/webkiticondatabase.cpp
71     gtk/webkit/webkitnetworkrequest.cpp
72     gtk/webkit/webkitnetworkresponse.cpp
73     gtk/webkit/webkitsecurityorigin.cpp
74     gtk/webkit/webkitsoupauthdialog.cpp
75     gtk/webkit/webkitspellchecker.cpp
76     gtk/webkit/webkitspellcheckerenchant.cpp
77     gtk/webkit/webkitversion.cpp
78     gtk/webkit/webkitviewportattributes.cpp
79     gtk/webkit/webkitwebbackforwardlist.cpp
80     gtk/webkit/webkitwebdatabase.cpp
81     gtk/webkit/webkitwebdatasource.cpp
82     gtk/webkit/webkitwebframe.cpp
83     gtk/webkit/webkitwebhistoryitem.cpp
84     gtk/webkit/webkitwebinspector.cpp
85     gtk/webkit/webkitwebnavigationaction.cpp
86     gtk/webkit/webkitwebplugin.cpp
87     gtk/webkit/webkitwebplugindatabase.cpp
88     gtk/webkit/webkitwebpolicydecision.cpp
89     gtk/webkit/webkitwebresource.cpp
90     gtk/webkit/webkitwebsettings.cpp
91     gtk/webkit/webkitwebview.cpp
92     gtk/webkit/webkitwebwindowfeatures.cpp
93 )
94
95 list(APPEND WebKitGTK_INSTALLED_HEADERS
96     ${WEBKIT_DIR}/gtk/webkit/webkit.h
97     ${WEBKIT_DIR}/gtk/webkit/webkitapplicationcache.h
98     ${WEBKIT_DIR}/gtk/webkit/webkitauthenticationdialog.h
99     ${WEBKIT_DIR}/gtk/webkit/webkitdefines.h
100     ${WEBKIT_DIR}/gtk/webkit/webkitdom.h
101     ${WEBKIT_DIR}/gtk/webkit/webkitdownload.h
102     ${WEBKIT_DIR}/gtk/webkit/webkiterror.h
103     ${WEBKIT_DIR}/gtk/webkit/webkitfavicondatabase.h
104     ${WEBKIT_DIR}/gtk/webkit/webkitfilechooserrequest.h
105     ${WEBKIT_DIR}/gtk/webkit/webkitgeolocationpolicydecision.h
106     ${WEBKIT_DIR}/gtk/webkit/webkitglobals.h
107     ${WEBKIT_DIR}/gtk/webkit/webkithittestresult.h
108     ${WEBKIT_DIR}/gtk/webkit/webkiticondatabase.h
109     ${WEBKIT_DIR}/gtk/webkit/webkitnetworkrequest.h
110     ${WEBKIT_DIR}/gtk/webkit/webkitnetworkresponse.h
111     ${WEBKIT_DIR}/gtk/webkit/webkitsecurityorigin.h
112     ${WEBKIT_DIR}/gtk/webkit/webkitsoupauthdialog.h
113     ${WEBKIT_DIR}/gtk/webkit/webkitspellchecker.h
114     ${WEBKIT_DIR}/gtk/webkit/webkitspellcheckerenchant.h
115     ${WEBKIT_DIR}/gtk/webkit/webkitviewportattributes.h
116     ${WEBKIT_DIR}/gtk/webkit/webkitwebbackforwardlist.h
117     ${WEBKIT_DIR}/gtk/webkit/webkitwebdatabase.h
118     ${WEBKIT_DIR}/gtk/webkit/webkitwebdatasource.h
119     ${WEBKIT_DIR}/gtk/webkit/webkitwebframe.h
120     ${WEBKIT_DIR}/gtk/webkit/webkitwebhistoryitem.h
121     ${WEBKIT_DIR}/gtk/webkit/webkitwebinspector.h
122     ${WEBKIT_DIR}/gtk/webkit/webkitwebnavigationaction.h
123     ${WEBKIT_DIR}/gtk/webkit/webkitwebplugin.h
124     ${WEBKIT_DIR}/gtk/webkit/webkitwebplugindatabase.h
125     ${WEBKIT_DIR}/gtk/webkit/webkitwebpolicydecision.h
126     ${WEBKIT_DIR}/gtk/webkit/webkitwebresource.h
127     ${WEBKIT_DIR}/gtk/webkit/webkitwebsettings.h
128     ${WEBKIT_DIR}/gtk/webkit/webkitwebview.h
129     ${WEBKIT_DIR}/gtk/webkit/webkitwebwindowfeatures.h
130 )
131
132 list(APPEND WebKit_LIBRARIES
133     GObjectDOMBindings
134     WebCorePlatformGTK
135 )
136
137 set(WebKit_MARSHAL_LIST ${WEBKIT_DIR}/gtk/webkitmarshal.list)
138
139 add_custom_command(
140     OUTPUT ${DERIVED_SOURCES_WEBKITGTK_API_DIR}/webkitmarshal.cpp
141            ${DERIVED_SOURCES_WEBKITGTK_API_DIR}/webkitmarshal.h
142     MAIN_DEPENDENCY ${WebKit_MARSHAL_LIST}
143
144     COMMAND echo extern \"C\" { > ${DERIVED_SOURCES_WEBKITGTK_API_DIR}/webkitmarshal.cpp
145     COMMAND glib-genmarshal --prefix=webkit_marshal ${WebKit_MARSHAL_LIST} --body >> ${DERIVED_SOURCES_WEBKITGTK_API_DIR}/webkitmarshal.cpp
146     COMMAND echo } >> ${DERIVED_SOURCES_WEBKITGTK_API_DIR}/webkitmarshal.cpp
147
148     COMMAND glib-genmarshal --prefix=webkit_marshal ${WebKit_MARSHAL_LIST} --header > ${DERIVED_SOURCES_WEBKITGTK_API_DIR}/webkitmarshal.h
149     VERBATIM
150 )
151
152 add_custom_command(
153     OUTPUT ${DERIVED_SOURCES_WEBKITGTK_API_DIR}/webkitenumtypes.h
154            ${DERIVED_SOURCES_WEBKITGTK_API_DIR}/webkitenumtypes.cpp
155     DEPENDS ${WebKitGTK_INSTALLED_HEADERS}
156
157     COMMAND glib-mkenums --template ${WEBKIT_DIR}/gtk/webkit/webkitenumtypes.h.template ${WebKitGTK_INSTALLED_HEADERS} | sed s/web_kit/webkit/ | sed s/WEBKIT_TYPE_KIT/WEBKIT_TYPE/ > ${DERIVED_SOURCES_WEBKITGTK_API_DIR}/webkitenumtypes.h
158
159     COMMAND glib-mkenums --template ${WEBKIT_DIR}/gtk/webkit/webkitenumtypes.cpp.template ${WebKitGTK_INSTALLED_HEADERS} | sed s/web_kit/webkit/ > ${DERIVED_SOURCES_WEBKITGTK_API_DIR}/webkitenumtypes.cpp
160     VERBATIM
161 )