Enable WebGL on Windows CMake build.
[WebKit-https.git] / Source / WebKit / PlatformWin.cmake
1 if (${WTF_PLATFORM_WIN_CAIRO})
2     add_definitions(-DUSE_CAIRO=1 -DUSE_CURL=1 -DWEBKIT_EXPORTS=1)
3     list(APPEND WebKit_INCLUDE_DIRECTORIES
4         "$ENV{WEBKIT_LIBRARIES}/include"
5         "$ENV{WEBKIT_LIBRARIES}/include/cairo"
6         "$ENV{WEBKIT_LIBRARIES}/include/sqlite"
7         "${WEBCORE_DIR}/platform/graphics/cairo"
8     )
9     list(APPEND WebKit_SOURCES_Classes
10         win/WebDownloadCURL.cpp
11         win/WebURLAuthenticationChallengeSenderCURL.cpp
12     )
13     list(APPEND WebKit_LIBRARIES
14         libeay32.lib
15         ssleay32.lib
16     )
17 else ()
18     list(APPEND WebKit_SOURCES_Classes
19         win/WebDownloadCFNet.cpp
20         win/WebURLAuthenticationChallengeSenderCFNet.cpp
21     )
22     list(APPEND WebKit_LIBRARIES
23         WebKitSystemInterface
24     )
25 endif ()
26
27 list(APPEND WebKit_INCLUDE_DIRECTORIES
28     Storage
29     win
30     win/plugins
31     win/WebCoreSupport
32     WebCoreSupport
33     WebKit.vcxproj/WebKit
34     "${DERIVED_SOURCES_WEBKIT_DIR}/include"
35     "${CMAKE_SOURCE_DIR}/Source"
36     "${DERIVED_SOURCES_WEBKIT_DIR}/include/WebCore"
37     "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}"
38     "${DERIVED_SOURCES_WEBCORE_DIR}"
39     "${DERIVED_SOURCES_DIR}"
40     "${JAVASCRIPTCORE_DIR}/dfg"
41     "${WEBCORE_DIR}/style"
42     "${WEBCORE_DIR}/loader/archive"
43     "${WEBCORE_DIR}/loader/archive/cf"
44     "${WEBCORE_DIR}/page/scrolling"
45     "${WEBCORE_DIR}/platform/cf"
46     "${WEBCORE_DIR}/platform/graphics/win"
47     "${WEBCORE_DIR}/platform/graphics/filters"
48     "${WEBCORE_DIR}/platform/audio"
49     "${WEBCORE_DIR}/platform/win"
50     "${WEBCORE_DIR}/rendering/line"
51     "${WEBCORE_DIR}/html/shadow"
52     "${WEBCORE_DIR}/modules/websockets"
53     "${DERIVED_SOURCES_WEBKIT_DIR}/Interfaces"
54     "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector"
55     "${THIRDPARTY_DIR}"
56     "${THIRDPARTY_DIR}/ANGLE"
57     "${THIRDPARTY_DIR}/ANGLE/include"
58     "${THIRDPARTY_DIR}/ANGLE/include/egl"
59     "${THIRDPARTY_DIR}/ANGLE/include/khr"
60 )
61
62 list(APPEND WebKit_INCLUDES
63     win/CFDictionaryPropertyBag.h
64     win/COMEnumVariant.h
65     win/COMPropertyBag.h
66     win/COMVariantSetter.h
67     win/CodeAnalysisConfig.h
68     win/DOMCSSClasses.h
69     win/DOMCoreClasses.h
70     win/DOMEventsClasses.h
71     win/DOMHTMLClasses.h
72     win/DefaultDownloadDelegate.h
73     win/DefaultPolicyDelegate.h
74     win/ForEachCoClass.h
75     win/FullscreenVideoController.h
76     win/MarshallingHelpers.h
77     win/MemoryStream.h
78     win/ProgIDMacros.h
79     win/WebActionPropertyBag.h
80     win/WebArchive.h
81     win/WebBackForwardList.h
82     win/WebCache.h
83     win/WebCachedFramePlatformData.h
84     win/WebCoreStatistics.h
85     win/WebDataSource.h
86     win/WebDatabaseManager.h
87     win/WebDocumentLoader.h
88     win/WebDownload.h
89     win/WebDropSource.h
90     win/WebElementPropertyBag.h
91     win/WebError.h
92     win/WebFrame.h
93     win/WebFramePolicyListener.h
94     win/WebGeolocationPolicyListener.h
95     win/WebGeolocationPosition.h
96     win/WebHTMLRepresentation.h
97     win/WebHistory.h
98     win/WebHistoryItem.h
99     win/WebIconDatabase.h
100     win/WebJavaScriptCollector.h
101     win/WebKitCOMAPI.h
102     win/WebKitClassFactory.h
103     win/WebKitDLL.h
104     win/WebKitGraphics.h
105     win/WebKitLogging.h
106     win/WebKitStatistics.h
107     win/WebKitStatisticsPrivate.h
108     win/WebKitSystemBits.h
109     win/WebLocalizableStrings.h
110     win/WebMutableURLRequest.h
111     win/WebNavigationData.h
112     win/WebNotification.h
113     win/WebNotificationCenter.h
114     win/WebPreferenceKeysPrivate.h
115     win/WebPreferences.h
116     win/WebResource.h
117     win/WebScriptObject.h
118     win/WebScriptWorld.h
119     win/WebSecurityOrigin.h
120     win/WebSerializedJSValue.h
121     win/WebTextRenderer.h
122     win/WebURLAuthenticationChallenge.h
123     win/WebURLAuthenticationChallengeSender.h
124     win/WebURLCredential.h
125     win/WebURLProtectionSpace.h
126     win/WebURLResponse.h
127     win/WebUserContentURLPattern.h
128     win/WebView.h
129     win/WebWorkersPrivate.h
130 )
131
132 list(APPEND WebKit_SOURCES_Classes
133     Storage/StorageAreaImpl.cpp
134     Storage/StorageAreaSync.cpp
135     Storage/StorageNamespaceImpl.cpp
136     Storage/StorageSyncManager.cpp
137     Storage/StorageThread.cpp
138     Storage/StorageTracker.cpp
139     Storage/WebDatabaseProvider.cpp
140     Storage/WebStorageNamespaceProvider.cpp
141
142     cf/WebCoreSupport/WebInspectorClientCF.cpp
143
144     win/AccessibleBase.cpp
145     win/AccessibleDocument.cpp
146     win/AccessibleImage.cpp
147     win/AccessibleTextImpl.cpp
148     win/CFDictionaryPropertyBag.cpp
149     win/DOMCSSClasses.cpp
150     win/DOMCoreClasses.cpp
151     win/DOMEventsClasses.cpp
152     win/DOMHTMLClasses.cpp
153     win/DefaultDownloadDelegate.cpp
154     win/DefaultPolicyDelegate.cpp
155     win/ForEachCoClass.cpp
156     win/FullscreenVideoController.cpp
157     win/MarshallingHelpers.cpp
158     win/MemoryStream.cpp
159     win/WebActionPropertyBag.cpp
160     win/WebArchive.cpp
161     win/WebBackForwardList.cpp
162     win/WebCache.cpp
163     win/WebCoreStatistics.cpp
164     win/WebDataSource.cpp
165     win/WebDatabaseManager.cpp
166     win/WebDocumentLoader.cpp
167     win/WebDownload.cpp
168     win/WebDropSource.cpp
169     win/WebElementPropertyBag.cpp
170     win/WebError.cpp
171     win/WebFrame.cpp
172     win/WebFramePolicyListener.cpp
173     win/WebGeolocationPolicyListener.cpp
174     win/WebGeolocationPosition.cpp
175     win/WebHTMLRepresentation.cpp
176     win/WebHistory.cpp
177     win/WebHistoryItem.cpp
178     win/WebIconDatabase.cpp
179     win/WebInspector.cpp
180     win/WebJavaScriptCollector.cpp
181     win/WebKitCOMAPI.cpp
182     win/WebKitClassFactory.cpp
183     win/WebKitDLL.cpp
184     win/WebKitLogging.cpp
185     win/WebKitMessageLoop.cpp
186     win/WebKitStatistics.cpp
187     win/WebKitSystemBits.cpp
188     win/WebLocalizableStrings.cpp
189     win/WebMutableURLRequest.cpp
190     win/WebNavigationData.cpp
191     win/WebNodeHighlight.cpp
192     win/WebNotification.cpp
193     win/WebNotificationCenter.cpp
194     win/WebPreferences.cpp
195     win/WebResource.cpp
196     win/WebScriptObject.cpp
197     win/WebScriptWorld.cpp
198     win/WebSecurityOrigin.cpp
199     win/WebSerializedJSValue.cpp
200     win/WebTextRenderer.cpp
201     win/WebURLAuthenticationChallenge.cpp
202     win/WebURLAuthenticationChallengeSender.cpp
203     win/WebURLCredential.cpp
204     win/WebURLProtectionSpace.cpp
205     win/WebURLResponse.cpp
206     win/WebUserContentURLPattern.cpp
207     win/WebView.cpp
208     win/WebWorkersPrivate.cpp
209
210     win/plugins/PluginDatabase.cpp
211     win/plugins/PluginDatabaseWin.cpp
212     win/plugins/PluginDebug.cpp
213     win/plugins/PluginMainThreadScheduler.cpp
214     win/plugins/PluginMessageThrottlerWin.cpp
215     win/plugins/PluginPackage.cpp
216     win/plugins/PluginPackageWin.cpp
217     win/plugins/PluginStream.cpp
218     win/plugins/PluginView.cpp
219     win/plugins/PluginViewWin.cpp
220     win/plugins/npapi.cpp
221 )
222
223 list(APPEND WebKit_SOURCES_WebCoreSupport
224     WebCoreSupport/WebViewGroup.cpp
225     WebCoreSupport/WebViewGroup.h
226
227     win/WebCoreSupport/AcceleratedCompositingContext.cpp
228     win/WebCoreSupport/EmbeddedWidget.cpp
229     win/WebCoreSupport/EmbeddedWidget.h
230     win/WebCoreSupport/WebChromeClient.cpp
231     win/WebCoreSupport/WebChromeClient.h
232     win/WebCoreSupport/WebContextMenuClient.cpp
233     win/WebCoreSupport/WebContextMenuClient.h
234     win/WebCoreSupport/WebDesktopNotificationsDelegate.cpp
235     win/WebCoreSupport/WebDesktopNotificationsDelegate.h
236     win/WebCoreSupport/WebDragClient.cpp
237     win/WebCoreSupport/WebDragClient.h
238     win/WebCoreSupport/WebEditorClient.cpp
239     win/WebCoreSupport/WebEditorClient.h
240     win/WebCoreSupport/WebFrameLoaderClient.cpp
241     win/WebCoreSupport/WebFrameLoaderClient.h
242     win/WebCoreSupport/WebFrameNetworkingContext.cpp
243     win/WebCoreSupport/WebFrameNetworkingContext.h
244     win/WebCoreSupport/WebGeolocationClient.cpp
245     win/WebCoreSupport/WebGeolocationClient.h
246     win/WebCoreSupport/WebInspectorClient.cpp
247     win/WebCoreSupport/WebInspectorClient.h
248     win/WebCoreSupport/WebInspectorDelegate.cpp
249     win/WebCoreSupport/WebInspectorDelegate.h
250     win/WebCoreSupport/WebPlatformStrategies.cpp
251     win/WebCoreSupport/WebPlatformStrategies.h
252     win/WebCoreSupport/WebVisitedLinkStore.cpp
253     win/WebCoreSupport/WebVisitedLinkStore.h
254 )
255
256 if (CMAKE_SIZEOF_VOID_P EQUAL 8)
257     enable_language(ASM_MASM)
258     list(APPEND WebKit_SOURCES
259         win/plugins/PaintHooks.asm
260     )
261 endif ()
262
263 list(APPEND WebKit_SOURCES ${WebKit_INCLUDES} ${WebKit_SOURCES_Classes} ${WebKit_SOURCES_WebCoreSupport})
264
265 source_group(Includes FILES ${WebKit_INCLUDES})
266 source_group(Classes FILES ${WebKit_SOURCES_Classes})
267 source_group(WebCoreSupport FILES ${WebKit_SOURCES_WebCoreSupport})
268
269 # Build the COM interface:
270 macro(GENERATE_INTERFACE _infile _defines _depends)
271     get_filename_component(_filewe ${_infile} NAME_WE)
272     add_custom_command(
273         OUTPUT  ${DERIVED_SOURCES_WEBKIT_DIR}/Interfaces/${_filewe}.h
274         MAIN_DEPENDENCY ${_infile}
275         DEPENDS ${_depends}
276         COMMAND midl.exe /I "${CMAKE_CURRENT_SOURCE_DIR}/win/Interfaces" /I "${CMAKE_CURRENT_SOURCE_DIR}/win/Interfaces/Accessible2" /I "${DERIVED_SOURCES_WEBKIT_DIR}/include" /I "${CMAKE_CURRENT_SOURCE_DIR}/win" /WX /char signed /env win32 /tlb "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_filewe}.tlb" /out "${DERIVED_SOURCES_WEBKIT_DIR}/Interfaces" /h "${DERIVED_SOURCES_WEBKIT_DIR}/Interfaces/${_filewe}.h" /iid "${_filewe}_i.c" ${_defines} "${CMAKE_CURRENT_SOURCE_DIR}/${_infile}"
277         VERBATIM)
278     set_source_files_properties(${DERIVED_SOURCES_WEBKIT_DIR}/Interfaces/${_filewe}.h PROPERTIES GENERATED TRUE)
279     set_source_files_properties(${DERIVED_SOURCES_WEBKIT_DIR}/Interfaces/${_filewe}_i.c PROPERTIES GENERATED TRUE)
280 endmacro()
281
282 set(MIDL_DEFINES /D\ \"__PRODUCTION__=01\")
283
284 set(WEBKIT_IDL_DEPENDENCIES
285     win/Interfaces/AccessibleComparable.idl
286     win/Interfaces/DOMCSS.idl
287     win/Interfaces/DOMCore.idl
288     win/Interfaces/DOMEvents.idl
289     win/Interfaces/DOMExtensions.idl
290     win/Interfaces/DOMHTML.idl
291     win/Interfaces/DOMPrivate.idl
292     win/Interfaces/DOMRange.idl
293     win/Interfaces/DOMWindow.idl
294     win/Interfaces/IGEN_DOMObject.idl
295     win/Interfaces/IWebArchive.idl
296     win/Interfaces/IWebBackForwardList.idl
297     win/Interfaces/IWebBackForwardListPrivate.idl
298     win/Interfaces/IWebCache.idl
299     win/Interfaces/IWebCoreStatistics.idl
300     win/Interfaces/IWebDataSource.idl
301     win/Interfaces/IWebDatabaseManager.idl
302     win/Interfaces/IWebDesktopNotificationsDelegate.idl
303     win/Interfaces/IWebDocument.idl
304     win/Interfaces/IWebDownload.idl
305     win/Interfaces/IWebEditingDelegate.idl
306     win/Interfaces/IWebEmbeddedView.idl
307     win/Interfaces/IWebError.idl
308     win/Interfaces/IWebErrorPrivate.idl
309     win/Interfaces/IWebFormDelegate.idl
310     win/Interfaces/IWebFrame.idl
311     win/Interfaces/IWebFrameLoadDelegate.idl
312     win/Interfaces/IWebFrameLoadDelegatePrivate.idl
313     win/Interfaces/IWebFrameLoadDelegatePrivate2.idl
314     win/Interfaces/IWebFramePrivate.idl
315     win/Interfaces/IWebFrameView.idl
316     win/Interfaces/IWebGeolocationPolicyListener.idl
317     win/Interfaces/IWebGeolocationPosition.idl
318     win/Interfaces/IWebGeolocationProvider.idl
319     win/Interfaces/IWebHTMLRepresentation.idl
320     win/Interfaces/IWebHTTPURLResponse.idl
321     win/Interfaces/IWebHistory.idl
322     win/Interfaces/IWebHistoryDelegate.idl
323     win/Interfaces/IWebHistoryItem.idl
324     win/Interfaces/IWebHistoryItemPrivate.idl
325     win/Interfaces/IWebHistoryPrivate.idl
326     win/Interfaces/IWebIconDatabase.idl
327     win/Interfaces/IWebInspector.idl
328     win/Interfaces/IWebInspectorPrivate.idl
329     win/Interfaces/IWebJavaScriptCollector.idl
330     win/Interfaces/IWebKitStatistics.idl
331     win/Interfaces/IWebMutableURLRequest.idl
332     win/Interfaces/IWebMutableURLRequestPrivate.idl
333     win/Interfaces/IWebNavigationData.idl
334     win/Interfaces/IWebNotification.idl
335     win/Interfaces/IWebNotificationCenter.idl
336     win/Interfaces/IWebNotificationObserver.idl
337     win/Interfaces/IWebPolicyDelegate.idl
338     win/Interfaces/IWebPolicyDelegatePrivate.idl
339     win/Interfaces/IWebPreferences.idl
340     win/Interfaces/IWebPreferencesPrivate.idl
341     win/Interfaces/IWebResource.idl
342     win/Interfaces/IWebResourceLoadDelegate.idl
343     win/Interfaces/IWebResourceLoadDelegatePrivate.idl
344     win/Interfaces/IWebResourceLoadDelegatePrivate2.idl
345     win/Interfaces/IWebScriptObject.idl
346     win/Interfaces/IWebScriptWorld.idl
347     win/Interfaces/IWebSecurityOrigin.idl
348     win/Interfaces/IWebSerializedJSValue.idl
349     win/Interfaces/IWebSerializedJSValuePrivate.idl
350     win/Interfaces/IWebTextRenderer.idl
351     win/Interfaces/IWebUIDelegate.idl
352     win/Interfaces/IWebUIDelegate2.idl
353     win/Interfaces/IWebUIDelegatePrivate.idl
354     win/Interfaces/IWebURLAuthenticationChallenge.idl
355     win/Interfaces/IWebURLRequest.idl
356     win/Interfaces/IWebURLResponse.idl
357     win/Interfaces/IWebURLResponsePrivate.idl
358     win/Interfaces/IWebUndoManager.idl
359     win/Interfaces/IWebUndoTarget.idl
360     win/Interfaces/IWebUserContentURLPattern.idl
361     win/Interfaces/IWebView.idl
362     win/Interfaces/IWebViewPrivate.idl
363     win/Interfaces/IWebWorkersPrivate.idl
364     win/Interfaces/JavaScriptCoreAPITypes.idl
365     win/Interfaces/WebKit.idl
366     win/Interfaces/WebScrollbarTypes.idl
367
368     win/Interfaces/Accessible2/Accessible2.idl
369     win/Interfaces/Accessible2/Accessible2_2.idl
370     win/Interfaces/Accessible2/AccessibleApplication.idl
371     win/Interfaces/Accessible2/AccessibleEditableText.idl
372     win/Interfaces/Accessible2/AccessibleRelation.idl
373     win/Interfaces/Accessible2/AccessibleStates.idl
374     win/Interfaces/Accessible2/AccessibleText.idl
375     win/Interfaces/Accessible2/AccessibleText2.idl
376     win/Interfaces/Accessible2/IA2CommonTypes.idl
377     "${DERIVED_SOURCES_WEBKIT_DIR}/autoversion.h"
378 )
379
380 add_custom_command(
381     OUTPUT ${DERIVED_SOURCES_WEBKIT_DIR}/autoversion.h
382     WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
383     COMMAND ${PERL_EXECUTABLE} ${CMAKE_SOURCE_DIR}/WebKitLibraries/win/tools/scripts/auto-version.pl ${DERIVED_SOURCES_WEBKIT_DIR}
384     VERBATIM)
385
386 GENERATE_INTERFACE(win/Interfaces/WebKit.idl ${MIDL_DEFINES} "${WEBKIT_IDL_DEPENDENCIES}")
387 GENERATE_INTERFACE(win/Interfaces/Accessible2/AccessibleApplication.idl ${MIDL_DEFINES} "${WEBKIT_IDL_DEPENDENCIES}")
388 GENERATE_INTERFACE(win/Interfaces/Accessible2/Accessible2.idl ${MIDL_DEFINES} "${WEBKIT_IDL_DEPENDENCIES}")
389 GENERATE_INTERFACE(win/Interfaces/Accessible2/Accessible2_2.idl ${MIDL_DEFINES} "${WEBKIT_IDL_DEPENDENCIES}")
390 GENERATE_INTERFACE(win/Interfaces/Accessible2/AccessibleRelation.idl ${MIDL_DEFINES} "${WEBKIT_IDL_DEPENDENCIES}")
391 GENERATE_INTERFACE(win/Interfaces/Accessible2/AccessibleStates.idl ${MIDL_DEFINES} "${WEBKIT_IDL_DEPENDENCIES}")
392 GENERATE_INTERFACE(win/Interfaces/Accessible2/IA2CommonTypes.idl ${MIDL_DEFINES} "${WEBKIT_IDL_DEPENDENCIES}")
393 GENERATE_INTERFACE(win/Interfaces/Accessible2/AccessibleEditableText.idl ${MIDL_DEFINES} "${WEBKIT_IDL_DEPENDENCIES}")
394 GENERATE_INTERFACE(win/Interfaces/Accessible2/AccessibleText.idl ${MIDL_DEFINES} "${WEBKIT_IDL_DEPENDENCIES}")
395 GENERATE_INTERFACE(win/Interfaces/Accessible2/AccessibleText2.idl ${MIDL_DEFINES} "${WEBKIT_IDL_DEPENDENCIES}")
396
397 add_library(WebKitGUID STATIC
398     "${DERIVED_SOURCES_WEBKIT_DIR}/Interfaces/WebKit.h"
399     "${DERIVED_SOURCES_WEBKIT_DIR}/Interfaces/AccessibleApplication.h"
400     "${DERIVED_SOURCES_WEBKIT_DIR}/Interfaces/Accessible2.h"
401     "${DERIVED_SOURCES_WEBKIT_DIR}/Interfaces/Accessible2_2.h"
402     "${DERIVED_SOURCES_WEBKIT_DIR}/Interfaces/AccessibleRelation.h"
403     "${DERIVED_SOURCES_WEBKIT_DIR}/Interfaces/AccessibleStates.h"
404     "${DERIVED_SOURCES_WEBKIT_DIR}/Interfaces/IA2CommonTypes.h"
405     "${DERIVED_SOURCES_WEBKIT_DIR}/Interfaces/AccessibleEditableText.h"
406     "${DERIVED_SOURCES_WEBKIT_DIR}/Interfaces/AccessibleText.h"
407     "${DERIVED_SOURCES_WEBKIT_DIR}/Interfaces/AccessibleText2.h"
408     "${DERIVED_SOURCES_WEBKIT_DIR}/Interfaces/WebKit_i.c"
409     "${DERIVED_SOURCES_WEBKIT_DIR}/Interfaces/AccessibleApplication_i.c"
410     "${DERIVED_SOURCES_WEBKIT_DIR}/Interfaces/Accessible2_i.c"
411     "${DERIVED_SOURCES_WEBKIT_DIR}/Interfaces/Accessible2_2_i.c"
412     "${DERIVED_SOURCES_WEBKIT_DIR}/Interfaces/AccessibleRelation_i.c"
413     "${DERIVED_SOURCES_WEBKIT_DIR}/Interfaces/AccessibleEditableText_i.c"
414     "${DERIVED_SOURCES_WEBKIT_DIR}/Interfaces/AccessibleText_i.c"
415     "${DERIVED_SOURCES_WEBKIT_DIR}/Interfaces/AccessibleText2_i.c"
416 )
417 set_target_properties(WebKitGUID PROPERTIES FOLDER "WebKit")
418
419 list(APPEND WebKit_LIBRARIES
420     Comctl32
421     Comsupp
422     Crypt32
423     Iphlpapi
424     Rpcrt4
425     Shlwapi
426     Usp10
427     Version
428     WebKitGUID
429 )
430
431 if (ENABLE_GRAPHICS_CONTEXT_3D)
432     list(APPEND WebKit_LIBRARIES
433         libANGLE
434         libEGL
435         libGLESv2
436     )
437 endif ()
438
439 # We need the webkit libraries to come before the system default libraries to prevent symbol conflicts with uuid.lib.
440 # To do this we add system default libs as webkit libs and zero out system default libs.
441 string(REPLACE " " "\;" CXX_LIBS ${CMAKE_CXX_STANDARD_LIBRARIES})
442 list(APPEND WebKit_LIBRARIES ${CXX_LIBS})
443 set(CMAKE_CXX_STANDARD_LIBRARIES "")
444
445 set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /NODEFAULTLIB:LIBCMT")
446
447 # If this directory isn't created before midl runs and attempts to output WebKit.tlb,
448 # It fails with an unusual error - midl failed - failed to save all changes
449 file(MAKE_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
450 file(MAKE_DIRECTORY ${DERIVED_SOURCES_WEBKIT_DIR}/Interfaces)
451
452 set(WebKit_FORWARDING_HEADERS
453     "${DERIVED_SOURCES_WEBKIT_DIR}/Interfaces/WebKit.h"
454     "${CMAKE_CURRENT_SOURCE_DIR}/win/WebKitCOMAPI.h"
455     "win/CFDictionaryPropertyBag.h"
456 )
457
458 WEBKIT_CREATE_FORWARDING_HEADERS(WebKit FILES ${WebKit_FORWARDING_HEADERS})