[WebRTC] Provide default implementation of LibWebRTCProvider
[WebKit-https.git] / Source / WebCore / PlatformWin.cmake
1 add_definitions(/bigobj -D__STDC_CONSTANT_MACROS)
2
3 list(APPEND WebCore_INCLUDE_DIRECTORIES
4     "${DERIVED_SOURCES_DIR}/ForwardingHeaders"
5     "${CMAKE_BINARY_DIR}/../include/private"
6     "${CMAKE_BINARY_DIR}/../include/private/JavaScriptCore"
7     "${WEBCORE_DIR}/accessibility/win"
8     "${WEBCORE_DIR}/page/win"
9     "${WEBCORE_DIR}/platform/graphics/egl"
10     "${WEBCORE_DIR}/platform/graphics/opengl"
11     "${WEBCORE_DIR}/platform/graphics/opentype"
12     "${WEBCORE_DIR}/platform/graphics/win"
13     "${WEBCORE_DIR}/platform/mediacapabilities"
14     "${WEBCORE_DIR}/platform/network/win"
15     "${WEBCORE_DIR}/platform/win"
16     "${THIRDPARTY_DIR}/ANGLE/include"
17     "${THIRDPARTY_DIR}/ANGLE/include/egl"
18 )
19
20 list(APPEND WebCore_SOURCES
21     accessibility/win/AXObjectCacheWin.cpp
22     accessibility/win/AccessibilityObjectWin.cpp
23     accessibility/win/AccessibilityObjectWrapperWin.cpp
24
25     editing/SmartReplaceCF.cpp
26     editing/win/EditorWin.cpp
27
28     html/HTMLSelectElementWin.cpp
29
30     page/win/DragControllerWin.cpp
31     page/win/EventHandlerWin.cpp
32     page/win/FrameWin.cpp
33
34     platform/Cursor.cpp
35     platform/LocalizedStrings.cpp
36     platform/StaticPasteboard.cpp
37
38     platform/audio/PlatformMediaSessionManager.cpp
39
40     platform/graphics/GraphicsContext3DPrivate.cpp
41
42     platform/graphics/egl/GLContextEGL.cpp
43
44     platform/graphics/opengl/Extensions3DOpenGLCommon.cpp
45     platform/graphics/opengl/Extensions3DOpenGLES.cpp
46     platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
47     platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp
48     platform/graphics/opengl/TemporaryOpenGLSetting.cpp
49
50     platform/graphics/opentype/OpenTypeUtilities.cpp
51
52     platform/graphics/win/ColorDirect2D.cpp
53     platform/graphics/win/ComplexTextControllerDirectWrite.cpp
54     platform/graphics/win/DIBPixelData.cpp
55     platform/graphics/win/FloatPointDirect2D.cpp
56     platform/graphics/win/FloatRectDirect2D.cpp
57     platform/graphics/win/FloatSizeDirect2D.cpp
58     platform/graphics/win/FontCacheWin.cpp
59     platform/graphics/win/FontPlatformDataWin.cpp
60     platform/graphics/win/FontWin.cpp
61     platform/graphics/win/FullScreenController.cpp
62     platform/graphics/win/GraphicsContextWin.cpp
63     platform/graphics/win/IconWin.cpp
64     platform/graphics/win/ImageWin.cpp
65     platform/graphics/win/IntPointWin.cpp
66     platform/graphics/win/IntRectWin.cpp
67     platform/graphics/win/IntSizeWin.cpp
68     platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp
69     platform/graphics/win/SimpleFontDataWin.cpp
70     platform/graphics/win/TransformationMatrixDirect2D.cpp
71     platform/graphics/win/TransformationMatrixWin.cpp
72     platform/graphics/win/UniscribeController.cpp
73
74     platform/network/win/DownloadBundleWin.cpp
75     platform/network/win/NetworkStateNotifierWin.cpp
76
77     platform/text/LocaleNone.cpp
78
79     platform/win/BString.cpp
80     platform/win/BitmapInfo.cpp
81     platform/win/ClipboardUtilitiesWin.cpp
82     platform/win/CursorWin.cpp
83     platform/win/DefWndProcWindowClass.cpp
84     platform/win/DragDataWin.cpp
85     platform/win/DragImageWin.cpp
86     platform/win/EventLoopWin.cpp
87     platform/win/FileSystemWin.cpp
88     platform/win/GDIObjectCounter.cpp
89     platform/win/GDIUtilities.cpp
90     platform/win/KeyEventWin.cpp
91     platform/win/LocalizedStringsWin.cpp
92     platform/win/LoggingWin.cpp
93     platform/win/MIMETypeRegistryWin.cpp
94     platform/win/MainThreadSharedTimerWin.cpp
95     platform/win/PasteboardWin.cpp
96     platform/win/PathWalker.cpp
97     platform/win/PlatformMouseEventWin.cpp
98     platform/win/PlatformScreenWin.cpp
99     platform/win/PopupMenuWin.cpp
100     platform/win/SSLKeyGeneratorWin.cpp
101     platform/win/ScrollbarThemeWin.cpp
102     platform/win/SearchPopupMenuDB.cpp
103     platform/win/SearchPopupMenuWin.cpp
104     platform/win/SharedBufferWin.cpp
105     platform/win/StructuredExceptionHandlerSuppressor.cpp
106     platform/win/SystemInfo.cpp
107     platform/win/UserAgentWin.cpp
108     platform/win/WCDataObject.cpp
109     platform/win/WebCoreBundleWin.cpp
110     platform/win/WebCoreInstanceHandle.cpp
111     platform/win/WebCoreTextRenderer.cpp
112     platform/win/WheelEventWin.cpp
113     platform/win/WidgetWin.cpp
114     platform/win/WindowMessageBroadcaster.cpp
115
116     rendering/RenderThemeWin.cpp
117 )
118
119 list(APPEND WebCore_USER_AGENT_STYLE_SHEETS
120     ${WEBCORE_DIR}/css/themeWin.css
121     ${WEBCORE_DIR}/css/themeWinQuirks.css
122 )
123
124 set(WebCore_FORWARDING_HEADERS_DIRECTORIES
125     .
126     accessibility
127     animation
128     bindings
129     bridge
130     contentextensions
131     crypto
132     css
133     dom
134     editing
135     fileapi
136     history
137     html
138     inspector
139     loader
140     page
141     platform
142     plugins
143     rendering
144     replay
145     storage
146     style
147     svg
148     websockets
149     workers
150     xml
151
152     Modules/cache
153     Modules/fetch
154     Modules/geolocation
155     Modules/indexeddb
156     Modules/mediastream
157     Modules/websockets
158
159     Modules/indexeddb/client
160     Modules/indexeddb/legacy
161     Modules/indexeddb/server
162     Modules/indexeddb/shared
163     Modules/notifications
164     Modules/webdatabase
165
166     accessibility/win
167
168     bindings/js
169
170     bridge/c
171     bridge/jsc
172
173     css/parser
174
175     html/canvas
176     html/forms
177     html/parser
178     html/shadow
179     html/track
180
181     loader/appcache
182     loader/archive
183     loader/cache
184     loader/icon
185
186
187     page/animation
188     page/csp
189     page/scrolling
190     page/win
191
192     platform/animation
193     platform/audio
194     platform/graphics
195     platform/mediacapabilities
196     platform/mock
197     platform/network
198     platform/sql
199     platform/text
200     platform/win
201
202     platform/graphics/filters
203     platform/graphics/opengl
204     platform/graphics/opentype
205     platform/graphics/texmap
206     platform/graphics/transforms
207     platform/graphics/win
208
209     platform/mediastream/libwebrtc
210
211     platform/text/transcoder
212
213     rendering/line
214     rendering/shapes
215     rendering/style
216     rendering/svg
217
218     svg/animation
219     svg/graphics
220     svg/properties
221
222     svg/graphics/filters
223
224     workers/service
225 )
226
227 if (ENABLE_WEBKIT)
228     list(APPEND WebCore_FORWARDING_HEADERS_DIRECTORIES
229         Modules/applicationmanifest
230
231         dom/messageports
232
233         inspector/agents
234
235         platform/mediacapabilities
236         platform/mediastream
237
238         workers/service/context
239         workers/service/server
240     )
241 endif ()
242
243 if (USE_CF)
244     list(APPEND WebCore_INCLUDE_DIRECTORIES
245         "${WEBCORE_DIR}/platform/cf"
246         "${WEBCORE_DIR}/platform/cf/win"
247     )
248
249     list(APPEND WebCore_SOURCES
250         loader/archive/cf/LegacyWebArchive.cpp
251
252         platform/cf/CFURLExtras.cpp
253         platform/cf/FileSystemCF.cpp
254         platform/cf/KeyedDecoderCF.cpp
255         platform/cf/KeyedEncoderCF.cpp
256         platform/cf/SharedBufferCF.cpp
257         platform/cf/URLCF.cpp
258
259         platform/cf/win/CertificateCFWin.cpp
260
261         platform/text/cf/HyphenationCF.cpp
262     )
263
264     list(APPEND WebCore_FORWARDING_HEADERS_DIRECTORIES
265         history/cf
266
267         loader/archive/cf
268
269         platform/cf
270
271         platform/cf/win
272     )
273 endif ()
274
275 if (CMAKE_SIZEOF_VOID_P EQUAL 4)
276     list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/makesafeseh.obj)
277     add_custom_command(
278         OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/makesafeseh.obj
279         DEPENDS ${WEBCORE_DIR}/platform/win/makesafeseh.asm
280         COMMAND ml /safeseh /c /Fo ${DERIVED_SOURCES_WEBCORE_DIR}/makesafeseh.obj ${WEBCORE_DIR}/platform/win/makesafeseh.asm
281         VERBATIM)
282 endif ()
283
284 if (${WTF_PLATFORM_WIN_CAIRO})
285     include(PlatformWinCairo.cmake)
286 else ()
287     include(PlatformAppleWin.cmake)
288 endif ()
289
290 make_directory(${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources/en.lproj)
291 file(COPY
292     "${WEBCORE_DIR}/en.lproj/Localizable.strings"
293     "${WEBCORE_DIR}/en.lproj/mediaControlsLocalizedStrings.js"
294     DESTINATION
295     ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources/en.lproj
296 )
297 file(COPY
298     "${WEBCORE_DIR}/Modules/mediacontrols/mediaControlsApple.css"
299     "${WEBCORE_DIR}/Modules/mediacontrols/mediaControlsApple.js"
300     DESTINATION
301     ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources
302 )
303 if (WTF_PLATFORM_WIN_CAIRO AND EXISTS ${WEBKIT_LIBRARIES_DIR}/etc/ssl/cert.pem)
304     make_directory(${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources/certificates)
305     file(COPY
306         ${WEBKIT_LIBRARIES_DIR}/etc/ssl/cert.pem
307         DESTINATION
308         ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources/certificates
309     )
310     file(RENAME
311         ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources/certificates/cert.pem
312         ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources/certificates/cacert.pem
313     )
314 endif ()
315
316 WEBKIT_MAKE_FORWARDING_HEADERS(WebCore
317     DIRECTORIES ${WebCore_FORWARDING_HEADERS_DIRECTORIES}
318     DERIVED_SOURCE_DIRECTORIES ${DERIVED_SOURCES_WEBCORE_DIR}
319     FLATTENED
320 )
321
322 set(WebCore_OUTPUT_NAME
323     WebCore${DEBUG_SUFFIX}
324 )
325
326 list(APPEND WebCore_LIBRARIES WTF${DEBUG_SUFFIX})
327 if (TARGET libEGL)
328     list(APPEND WebCore_LIBRARIES libEGL)
329 endif ()
330 list(APPEND WebCoreTestSupport_LIBRARIES WTF${DEBUG_SUFFIX})