70046821da81b79ef5f8510e9d01b31f767521bd
[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/FileSystemCF.cpp
253         platform/cf/KeyedDecoderCF.cpp
254         platform/cf/KeyedEncoderCF.cpp
255         platform/cf/SharedBufferCF.cpp
256
257         platform/cf/win/CertificateCFWin.cpp
258
259         platform/text/cf/HyphenationCF.cpp
260     )
261
262     list(APPEND WebCore_FORWARDING_HEADERS_DIRECTORIES
263         history/cf
264
265         loader/archive/cf
266
267         platform/cf
268
269         platform/cf/win
270     )
271 endif ()
272
273 if (CMAKE_SIZEOF_VOID_P EQUAL 4)
274     list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/makesafeseh.obj)
275     add_custom_command(
276         OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/makesafeseh.obj
277         DEPENDS ${WEBCORE_DIR}/platform/win/makesafeseh.asm
278         COMMAND ml /safeseh /c /Fo ${DERIVED_SOURCES_WEBCORE_DIR}/makesafeseh.obj ${WEBCORE_DIR}/platform/win/makesafeseh.asm
279         VERBATIM)
280 endif ()
281
282 if (${WTF_PLATFORM_WIN_CAIRO})
283     include(PlatformWinCairo.cmake)
284 else ()
285     include(PlatformAppleWin.cmake)
286 endif ()
287
288 make_directory(${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources/en.lproj)
289 file(COPY
290     "${WEBCORE_DIR}/en.lproj/Localizable.strings"
291     "${WEBCORE_DIR}/en.lproj/mediaControlsLocalizedStrings.js"
292     DESTINATION
293     ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources/en.lproj
294 )
295 file(COPY
296     "${WEBCORE_DIR}/Modules/mediacontrols/mediaControlsApple.css"
297     "${WEBCORE_DIR}/Modules/mediacontrols/mediaControlsApple.js"
298     DESTINATION
299     ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources
300 )
301 if (WTF_PLATFORM_WIN_CAIRO AND EXISTS ${WEBKIT_LIBRARIES_DIR}/etc/ssl/cert.pem)
302     make_directory(${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources/certificates)
303     file(COPY
304         ${WEBKIT_LIBRARIES_DIR}/etc/ssl/cert.pem
305         DESTINATION
306         ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources/certificates
307     )
308     file(RENAME
309         ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources/certificates/cert.pem
310         ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources/certificates/cacert.pem
311     )
312 endif ()
313
314 WEBKIT_MAKE_FORWARDING_HEADERS(WebCore
315     DIRECTORIES ${WebCore_FORWARDING_HEADERS_DIRECTORIES}
316     DERIVED_SOURCE_DIRECTORIES ${DERIVED_SOURCES_WEBCORE_DIR}
317     FLATTENED
318 )
319
320 set(WebCore_OUTPUT_NAME
321     WebCore${DEBUG_SUFFIX}
322 )
323
324 list(APPEND WebCore_LIBRARIES WTF${DEBUG_SUFFIX})
325 if (TARGET libEGL)
326     list(APPEND WebCore_LIBRARIES libEGL)
327 endif ()
328 list(APPEND WebCoreTestSupport_LIBRARIES WTF${DEBUG_SUFFIX})