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