Opt Google Maps into simulated mouse events dispatch quirk
[WebKit-https.git] / Source / WebCore / PlatformWin.cmake
1 add_definitions(/bigobj -D__STDC_CONSTANT_MACROS)
2
3 list(APPEND WebCore_INCLUDE_DIRECTORIES
4     "${CMAKE_BINARY_DIR}/../include/private"
5     "${CMAKE_BINARY_DIR}/../include/private/JavaScriptCore"
6     "${WEBCORE_DIR}/accessibility/win"
7     "${WEBCORE_DIR}/page/win"
8     "${WEBCORE_DIR}/platform/graphics/egl"
9     "${WEBCORE_DIR}/platform/graphics/opengl"
10     "${WEBCORE_DIR}/platform/graphics/opentype"
11     "${WEBCORE_DIR}/platform/graphics/win"
12     "${WEBCORE_DIR}/platform/mediacapabilities"
13     "${WEBCORE_DIR}/platform/network/win"
14     "${WEBCORE_DIR}/platform/win"
15 )
16
17 # FIXME: ANGLE should put its headers into a single directory
18 list(APPEND WebCore_INCLUDE_DIRECTORIES
19     "${DERIVED_SOURCES_DIR}/ForwardingHeaders"
20     "${THIRDPARTY_DIR}/ANGLE/include"
21     "${THIRDPARTY_DIR}/ANGLE/include/egl"
22 )
23
24 list(APPEND WebCore_SOURCES
25     accessibility/win/AXObjectCacheWin.cpp
26     accessibility/win/AccessibilityObjectWin.cpp
27     accessibility/win/AccessibilityObjectWrapperWin.cpp
28
29     editing/win/EditorWin.cpp
30
31     html/HTMLSelectElementWin.cpp
32
33     page/win/DragControllerWin.cpp
34     page/win/EventHandlerWin.cpp
35     page/win/FrameWin.cpp
36
37     platform/Cursor.cpp
38     platform/LocalizedStrings.cpp
39     platform/StaticPasteboard.cpp
40
41     platform/audio/PlatformMediaSessionManager.cpp
42
43     platform/graphics/GraphicsContext3DPrivate.cpp
44
45     platform/graphics/egl/GLContextEGL.cpp
46
47     platform/graphics/opengl/Extensions3DOpenGLCommon.cpp
48     platform/graphics/opengl/Extensions3DOpenGLES.cpp
49     platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
50     platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp
51     platform/graphics/opengl/TemporaryOpenGLSetting.cpp
52
53     platform/graphics/opentype/OpenTypeUtilities.cpp
54
55     platform/graphics/win/ColorDirect2D.cpp
56     platform/graphics/win/ComplexTextControllerDirectWrite.cpp
57     platform/graphics/win/DIBPixelData.cpp
58     platform/graphics/win/FloatPointDirect2D.cpp
59     platform/graphics/win/FloatRectDirect2D.cpp
60     platform/graphics/win/FloatSizeDirect2D.cpp
61     platform/graphics/win/FontCacheWin.cpp
62     platform/graphics/win/FontPlatformDataWin.cpp
63     platform/graphics/win/FontWin.cpp
64     platform/graphics/win/FullScreenController.cpp
65     platform/graphics/win/GraphicsContextWin.cpp
66     platform/graphics/win/IconWin.cpp
67     platform/graphics/win/ImageWin.cpp
68     platform/graphics/win/IntPointWin.cpp
69     platform/graphics/win/IntRectWin.cpp
70     platform/graphics/win/IntSizeWin.cpp
71     platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp
72     platform/graphics/win/SimpleFontDataWin.cpp
73     platform/graphics/win/TransformationMatrixDirect2D.cpp
74     platform/graphics/win/TransformationMatrixWin.cpp
75     platform/graphics/win/UniscribeController.cpp
76
77     platform/network/win/DownloadBundleWin.cpp
78     platform/network/win/NetworkStateNotifierWin.cpp
79
80     platform/win/BString.cpp
81     platform/win/BitmapInfo.cpp
82     platform/win/ClipboardUtilitiesWin.cpp
83     platform/win/CursorWin.cpp
84     platform/win/DefWndProcWindowClass.cpp
85     platform/win/DragDataWin.cpp
86     platform/win/DragImageWin.cpp
87     platform/win/EventLoopWin.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/PlatformMouseEventWin.cpp
97     platform/win/PlatformScreenWin.cpp
98     platform/win/PopupMenuWin.cpp
99     platform/win/SSLKeyGeneratorWin.cpp
100     platform/win/ScrollbarThemeWin.cpp
101     platform/win/SearchPopupMenuDB.cpp
102     platform/win/SearchPopupMenuWin.cpp
103     platform/win/SharedBufferWin.cpp
104     platform/win/StructuredExceptionHandlerSuppressor.cpp
105     platform/win/SystemInfo.cpp
106     platform/win/UserAgentWin.cpp
107     platform/win/WCDataObject.cpp
108     platform/win/WebCoreBundleWin.cpp
109     platform/win/WebCoreInstanceHandle.cpp
110     platform/win/WebCoreTextRenderer.cpp
111     platform/win/WheelEventWin.cpp
112     platform/win/WidgetWin.cpp
113     platform/win/WindowMessageBroadcaster.cpp
114
115     rendering/RenderThemeWin.cpp
116 )
117
118 list(APPEND WebCore_USER_AGENT_STYLE_SHEETS
119     ${WEBCORE_DIR}/css/themeWin.css
120     ${WEBCORE_DIR}/css/themeWinQuirks.css
121 )
122
123 set(WebCore_FORWARDING_HEADERS_DIRECTORIES
124     .
125     accessibility
126     animation
127     bindings
128     bridge
129     contentextensions
130     crypto
131     css
132     dom
133     editing
134     fileapi
135     history
136     html
137     inspector
138     loader
139     page
140     platform
141     plugins
142     rendering
143     replay
144     storage
145     style
146     svg
147     websockets
148     workers
149     xml
150
151     Modules/cache
152     Modules/fetch
153     Modules/geolocation
154     Modules/indexeddb
155     Modules/mediastream
156     Modules/websockets
157
158     Modules/indexeddb/client
159     Modules/indexeddb/legacy
160     Modules/indexeddb/server
161     Modules/indexeddb/shared
162     Modules/notifications
163     Modules/webdatabase
164
165     accessibility/win
166
167     bindings/js
168
169     bridge/c
170     bridge/jsc
171
172     css/parser
173
174     html/canvas
175     html/forms
176     html/parser
177     html/shadow
178     html/track
179
180     loader/appcache
181     loader/archive
182     loader/cache
183     loader/icon
184
185     page/animation
186     page/csp
187     page/scrolling
188     page/win
189
190     platform/animation
191     platform/audio
192     platform/graphics
193     platform/mediacapabilities
194     platform/mock
195     platform/network
196     platform/sql
197     platform/text
198     platform/win
199
200     platform/graphics/filters
201     platform/graphics/opengl
202     platform/graphics/opentype
203     platform/graphics/texmap
204     platform/graphics/transforms
205     platform/graphics/win
206
207     platform/mediastream/libwebrtc
208
209     platform/text/transcoder
210
211     rendering/line
212     rendering/shapes
213     rendering/style
214     rendering/svg
215
216     svg/animation
217     svg/graphics
218     svg/properties
219
220     svg/graphics/filters
221
222     workers/service
223 )
224
225 if (ENABLE_WEBKIT)
226     list(APPEND WebCore_FORWARDING_HEADERS_DIRECTORIES
227         Modules/applicationmanifest
228
229         dom/messageports
230
231         inspector/agents
232
233         platform/mediacapabilities
234         platform/mediastream
235
236         workers/service/context
237         workers/service/server
238     )
239 endif ()
240
241 if (USE_CF)
242     list(APPEND WebCore_INCLUDE_DIRECTORIES
243         "${WEBCORE_DIR}/platform/cf"
244         "${WEBCORE_DIR}/platform/cf/win"
245     )
246
247     list(APPEND WebCore_SOURCES
248         editing/SmartReplaceCF.cpp
249
250         loader/archive/cf/LegacyWebArchive.cpp
251
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
271     list(APPEND WebCore_LIBRARIES ${COREFOUNDATION_LIBRARY})
272     list(APPEND WebCoreTestSupport_LIBRARIES ${COREFOUNDATION_LIBRARY})
273 else ()
274     list(APPEND WebCore_SOURCES
275         platform/generic/KeyedDecoderGeneric.cpp
276         platform/generic/KeyedEncoderGeneric.cpp
277
278         platform/text/Hyphenation.cpp
279     )
280
281     list(APPEND WebCore_FORWARDING_HEADERS_DIRECTORIES
282         platform/generic
283     )
284 endif ()
285
286 if (CMAKE_SIZEOF_VOID_P EQUAL 4)
287     list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/makesafeseh.obj)
288     add_custom_command(
289         OUTPUT ${WebCore_DERIVED_SOURCES_DIR}/makesafeseh.obj
290         DEPENDS ${WEBCORE_DIR}/platform/win/makesafeseh.asm
291         COMMAND ml /safeseh /c /Fo ${WebCore_DERIVED_SOURCES_DIR}/makesafeseh.obj ${WEBCORE_DIR}/platform/win/makesafeseh.asm
292         VERBATIM)
293 endif ()
294
295 if (${WTF_PLATFORM_WIN_CAIRO})
296     include(PlatformWinCairo.cmake)
297 else ()
298     include(PlatformAppleWin.cmake)
299 endif ()
300
301 make_directory(${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources/en.lproj)
302 file(COPY
303     "${WEBCORE_DIR}/en.lproj/Localizable.strings"
304     "${WEBCORE_DIR}/en.lproj/mediaControlsLocalizedStrings.js"
305     DESTINATION
306     ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources/en.lproj
307 )
308 file(COPY
309     "${WEBCORE_DIR}/Modules/mediacontrols/mediaControlsApple.css"
310     "${WEBCORE_DIR}/Modules/mediacontrols/mediaControlsApple.js"
311     DESTINATION
312     ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources
313 )
314 if (WTF_PLATFORM_WIN_CAIRO AND EXISTS ${WEBKIT_LIBRARIES_DIR}/etc/ssl/cert.pem)
315     make_directory(${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources/certificates)
316     file(COPY
317         ${WEBKIT_LIBRARIES_DIR}/etc/ssl/cert.pem
318         DESTINATION
319         ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources/certificates
320     )
321     file(RENAME
322         ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources/certificates/cert.pem
323         ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/WebKit.resources/certificates/cacert.pem
324     )
325 endif ()
326
327 set(WebCore_PRIVATE_FRAMEWORK_HEADERS
328     ${WebCore_DERIVED_SOURCES_DIR}/CSSPropertyNames.h
329     ${WebCore_DERIVED_SOURCES_DIR}/CSSValueKeywords.h
330     ${WebCore_DERIVED_SOURCES_DIR}/EventInterfaces.h
331     ${WebCore_DERIVED_SOURCES_DIR}/EventTargetInterfaces.h
332     ${WebCore_DERIVED_SOURCES_DIR}/HTMLElementTypeHelpers.h
333     ${WebCore_DERIVED_SOURCES_DIR}/HTMLNames.h
334     ${WebCore_DERIVED_SOURCES_DIR}/HTTPHeaderNames.h
335     ${WebCore_DERIVED_SOURCES_DIR}/JSBlob.h
336     ${WebCore_DERIVED_SOURCES_DIR}/JSCSSStyleDeclaration.h
337     ${WebCore_DERIVED_SOURCES_DIR}/JSDOMBindingInternalsBuiltins.h
338     ${WebCore_DERIVED_SOURCES_DIR}/JSDOMWindow.h
339     ${WebCore_DERIVED_SOURCES_DIR}/JSDocument.h
340     ${WebCore_DERIVED_SOURCES_DIR}/JSElement.h
341     ${WebCore_DERIVED_SOURCES_DIR}/JSEventTarget.h
342     ${WebCore_DERIVED_SOURCES_DIR}/JSFile.h
343     ${WebCore_DERIVED_SOURCES_DIR}/JSHTMLElement.h
344     ${WebCore_DERIVED_SOURCES_DIR}/JSNode.h
345     ${WebCore_DERIVED_SOURCES_DIR}/JSNotification.h
346     ${WebCore_DERIVED_SOURCES_DIR}/JSRange.h
347     ${WebCore_DERIVED_SOURCES_DIR}/JSReadableStream.h
348     ${WebCore_DERIVED_SOURCES_DIR}/JSReadableStreamDefaultController.h
349     ${WebCore_DERIVED_SOURCES_DIR}/RTCPeerConnectionInternalsBuiltins.h
350     ${WebCore_DERIVED_SOURCES_DIR}/ReadableByteStreamInternalsBuiltins.h
351     ${WebCore_DERIVED_SOURCES_DIR}/ReadableStreamInternalsBuiltins.h
352     ${WebCore_DERIVED_SOURCES_DIR}/Settings.h
353     ${WebCore_DERIVED_SOURCES_DIR}/StreamInternalsBuiltins.h
354     ${WebCore_DERIVED_SOURCES_DIR}/WebCoreJSBuiltinInternals.h
355     ${WebCore_DERIVED_SOURCES_DIR}/WebCoreJSBuiltins.h
356     ${WebCore_DERIVED_SOURCES_DIR}/WebKitFontFamilyNames.h
357     ${WebCore_DERIVED_SOURCES_DIR}/WritableStreamInternalsBuiltins.h
358 )
359
360 WEBKIT_MAKE_FORWARDING_HEADERS(WebCore
361     TARGET_NAME WebCorePrivateFrameworkHeaders
362     DESTINATION ${WebCore_PRIVATE_FRAMEWORK_HEADERS_DIR}/WebCore
363     FILES ${WebCore_PRIVATE_FRAMEWORK_HEADERS}
364     DIRECTORIES ${WebCore_FORWARDING_HEADERS_DIRECTORIES}
365     FLATTENED
366 )
367
368 add_dependencies(WebCorePrivateFrameworkHeaders WebCoreBindings)
369
370 set(WebCore_OUTPUT_NAME
371     WebCore${DEBUG_SUFFIX}
372 )
373
374 list(APPEND WebCore_LIBRARIES WTF${DEBUG_SUFFIX})
375 if (TARGET libEGL)
376     list(APPEND WebCore_LIBRARIES libEGL)
377 endif ()
378 list(APPEND WebCoreTestSupport_LIBRARIES WTF${DEBUG_SUFFIX})