Fix WinCairo build after r240117
[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     page/animation
187     page/csp
188     page/scrolling
189     page/win
190
191     platform/animation
192     platform/audio
193     platform/graphics
194     platform/mediacapabilities
195     platform/mock
196     platform/network
197     platform/sql
198     platform/text
199     platform/win
200
201     platform/graphics/filters
202     platform/graphics/opengl
203     platform/graphics/opentype
204     platform/graphics/texmap
205     platform/graphics/transforms
206     platform/graphics/win
207
208     platform/mediastream/libwebrtc
209
210     platform/text/transcoder
211
212     rendering/line
213     rendering/shapes
214     rendering/style
215     rendering/svg
216
217     svg/animation
218     svg/graphics
219     svg/properties
220
221     svg/graphics/filters
222
223     workers/service
224 )
225
226 if (ENABLE_WEBKIT)
227     list(APPEND WebCore_FORWARDING_HEADERS_DIRECTORIES
228         Modules/applicationmanifest
229
230         dom/messageports
231
232         inspector/agents
233
234         platform/mediacapabilities
235         platform/mediastream
236
237         workers/service/context
238         workers/service/server
239     )
240 endif ()
241
242 if (USE_CF)
243     list(APPEND WebCore_INCLUDE_DIRECTORIES
244         "${WEBCORE_DIR}/platform/cf"
245         "${WEBCORE_DIR}/platform/cf/win"
246     )
247
248     list(APPEND WebCore_SOURCES
249         loader/archive/cf/LegacyWebArchive.cpp
250
251         platform/cf/FileSystemCF.cpp
252         platform/cf/KeyedDecoderCF.cpp
253         platform/cf/KeyedEncoderCF.cpp
254         platform/cf/SharedBufferCF.cpp
255
256         platform/cf/win/CertificateCFWin.cpp
257
258         platform/text/cf/HyphenationCF.cpp
259     )
260
261     list(APPEND WebCore_FORWARDING_HEADERS_DIRECTORIES
262         history/cf
263
264         loader/archive/cf
265
266         platform/cf
267
268         platform/cf/win
269     )
270 endif ()
271
272 if (CMAKE_SIZEOF_VOID_P EQUAL 4)
273     list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/makesafeseh.obj)
274     add_custom_command(
275         OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/makesafeseh.obj
276         DEPENDS ${WEBCORE_DIR}/platform/win/makesafeseh.asm
277         COMMAND ml /safeseh /c /Fo ${DERIVED_SOURCES_WEBCORE_DIR}/makesafeseh.obj ${WEBCORE_DIR}/platform/win/makesafeseh.asm
278         VERBATIM)
279 endif ()
280
281 if (${WTF_PLATFORM_WIN_CAIRO})
282     include(PlatformWinCairo.cmake)
283 else ()
284     include(PlatformAppleWin.cmake)
285 endif ()
286
287 make_directory(${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources/en.lproj)
288 file(COPY
289     "${WEBCORE_DIR}/en.lproj/Localizable.strings"
290     "${WEBCORE_DIR}/en.lproj/mediaControlsLocalizedStrings.js"
291     DESTINATION
292     ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources/en.lproj
293 )
294 file(COPY
295     "${WEBCORE_DIR}/Modules/mediacontrols/mediaControlsApple.css"
296     "${WEBCORE_DIR}/Modules/mediacontrols/mediaControlsApple.js"
297     DESTINATION
298     ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources
299 )
300 if (WTF_PLATFORM_WIN_CAIRO AND EXISTS ${WEBKIT_LIBRARIES_DIR}/etc/ssl/cert.pem)
301     make_directory(${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources/certificates)
302     file(COPY
303         ${WEBKIT_LIBRARIES_DIR}/etc/ssl/cert.pem
304         DESTINATION
305         ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources/certificates
306     )
307     file(RENAME
308         ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources/certificates/cert.pem
309         ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources/certificates/cacert.pem
310     )
311 endif ()
312
313 WEBKIT_MAKE_FORWARDING_HEADERS(WebCore
314     DIRECTORIES ${WebCore_FORWARDING_HEADERS_DIRECTORIES}
315     DERIVED_SOURCE_DIRECTORIES ${DERIVED_SOURCES_WEBCORE_DIR}
316     FLATTENED
317 )
318
319 set(WebCore_OUTPUT_NAME
320     WebCore${DEBUG_SUFFIX}
321 )
322
323 list(APPEND WebCore_LIBRARIES WTF${DEBUG_SUFFIX})
324 if (TARGET libEGL)
325     list(APPEND WebCore_LIBRARIES libEGL)
326 endif ()
327 list(APPEND WebCoreTestSupport_LIBRARIES WTF${DEBUG_SUFFIX})