Progress towards CMake on Windows and Mac.
authorachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 1 Apr 2015 18:36:43 +0000 (18:36 +0000)
committerachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 1 Apr 2015 18:36:43 +0000 (18:36 +0000)
https://bugs.webkit.org/show_bug.cgi?id=143293

Reviewed by Filip Pizlo.

.:

* CMakeLists.txt:
Set DERIVED_SOURCES_WTF_DIR for Windows.
* Source/CMakeLists.txt:
Don't compile bmalloc on Windows.
* Source/cmake/OptionsCommon.cmake:
Use the absolute path of the C preprocessor.
* Source/cmake/OptionsWinCairo.cmake:
Added needed definitions.
* Source/cmake/OptionsWindows.cmake:
Set some default values and removed support for old Visual Studio versions before /MP.
* Source/cmake/WebKitFS.cmake:
Make WTF DerivedSources directory.
* Source/cmake/WebKitMacros.cmake:
Added ADD_PRECOMPILED_HEADER macro based on
http://stackoverflow.com/questions/148570/using-pre-compiled-headers-with-cmake

Source/bmalloc:

* bmalloc/BAssert.h:
Removed ellipses from macros to appease Visual Studio.

Source/JavaScriptCore:

* CMakeLists.txt:
Enabled using assembly on Windows.
Replaced unix commands with CMake commands.
* PlatformMac.cmake:
Tell open source builders where to find unicode headers.

Source/ThirdParty/ANGLE:

* include/GLES2/gl2.h:
Temporarily disabled WebGL on Windows CMake builds.

Source/WebCore:

* PlatformMac.cmake:
Tell open source builders where to find unicode headers.
* PlatformWin.cmake:
Include PlatformWinCairo.cmake.
* PlatformWinCairo.cmake:
Added from bug 115944 by Patrick Gansterer.
* bindings/js/JSDOMStringListCustom.cpp:
* bindings/js/JSDOMWrapper.cpp:
* bindings/js/JSMessageChannelCustom.cpp:
* bindings/js/JSPopStateEventCustom.cpp:
* bindings/js/JSReadableStreamCustom.cpp:
* bindings/js/ReadableStreamJSSource.cpp:
* bindings/js/ScriptController.cpp:
* css/CSSComputedStyleDeclaration.cpp:
* dom/Attr.cpp:
* dom/CollectionIndexCache.cpp:
* platform/graphics/ANGLEWebKitBridge.h:
Fixed include quirks.

Source/WebKit:

* PlatformMac.cmake:
Fixed some include directories.

Source/WTF:

* wtf/CMakeLists.txt:
Don't use bmalloc on Windows yet.
* wtf/FeatureDefines.h:
Temporarily disabled WebGL on Windows CMake builds.
* wtf/PlatformMac.cmake:
Tell open source builders where to find unicode headers.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@182243 268f45cc-cd09-0410-ab3c-d52691b4dbfc

36 files changed:
CMakeLists.txt
ChangeLog
Source/CMakeLists.txt
Source/JavaScriptCore/CMakeLists.txt
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/PlatformMac.cmake
Source/ThirdParty/ANGLE/ChangeLog
Source/ThirdParty/ANGLE/include/GLES2/gl2.h
Source/WTF/ChangeLog
Source/WTF/wtf/CMakeLists.txt
Source/WTF/wtf/FeatureDefines.h
Source/WTF/wtf/PlatformMac.cmake
Source/WebCore/ChangeLog
Source/WebCore/PlatformMac.cmake
Source/WebCore/PlatformWin.cmake
Source/WebCore/PlatformWinCairo.cmake [new file with mode: 0644]
Source/WebCore/bindings/js/JSDOMStringListCustom.cpp
Source/WebCore/bindings/js/JSDOMWrapper.cpp
Source/WebCore/bindings/js/JSMessageChannelCustom.cpp
Source/WebCore/bindings/js/JSPopStateEventCustom.cpp
Source/WebCore/bindings/js/JSReadableStreamCustom.cpp
Source/WebCore/bindings/js/ReadableStreamJSSource.cpp
Source/WebCore/bindings/js/ScriptController.cpp
Source/WebCore/css/CSSComputedStyleDeclaration.cpp
Source/WebCore/dom/Attr.cpp
Source/WebCore/dom/CollectionIndexCache.cpp
Source/WebCore/platform/graphics/ANGLEWebKitBridge.h
Source/WebKit/ChangeLog
Source/WebKit/PlatformMac.cmake
Source/bmalloc/ChangeLog
Source/bmalloc/bmalloc/BAssert.h
Source/cmake/OptionsCommon.cmake
Source/cmake/OptionsWinCairo.cmake
Source/cmake/OptionsWindows.cmake
Source/cmake/WebKitFS.cmake
Source/cmake/WebKitMacros.cmake

index 0bfb98055d6239b626322ee96c347e36b4651997..3acb9b9883a39a544ef5e7d1052cfa0b7e2efec4 100644 (file)
@@ -20,6 +20,7 @@ set(DERIVED_SOURCES_WEBCORE_DIR "${CMAKE_BINARY_DIR}/DerivedSources/WebCore")
 set(DERIVED_SOURCES_WEBKIT_DIR "${CMAKE_BINARY_DIR}/DerivedSources/WebKit")
 set(DERIVED_SOURCES_WEBKIT2_DIR "${CMAKE_BINARY_DIR}/DerivedSources/WebKit2")
 set(DERIVED_SOURCES_WEBINSPECTORUI_DIR "${CMAKE_BINARY_DIR}/DerivedSources/WebInspectorUI")
+set(DERIVED_SOURCES_WTF_DIR "${CMAKE_BINARY_DIR}/DerivedSources/WTF")
 
 set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/Source/cmake")
 
index 17e5a7ed145d6b9ec5ea4eb0b11964fb1c020669..6a174a687c16364fd317bb09b351c57c64855c7c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,26 @@
+2015-04-01  Alex Christensen  <achristensen@webkit.org>
+
+        Progress towards CMake on Windows and Mac.
+        https://bugs.webkit.org/show_bug.cgi?id=143293
+
+        Reviewed by Filip Pizlo.
+
+        * CMakeLists.txt:
+        Set DERIVED_SOURCES_WTF_DIR for Windows.
+        * Source/CMakeLists.txt:
+        Don't compile bmalloc on Windows.
+        * Source/cmake/OptionsCommon.cmake:
+        Use the absolute path of the C preprocessor.
+        * Source/cmake/OptionsWinCairo.cmake:
+        Added needed definitions.
+        * Source/cmake/OptionsWindows.cmake:
+        Set some default values and removed support for old Visual Studio versions before /MP.
+        * Source/cmake/WebKitFS.cmake:
+        Make WTF DerivedSources directory.
+        * Source/cmake/WebKitMacros.cmake:
+        Added ADD_PRECOMPILED_HEADER macro based on
+        http://stackoverflow.com/questions/148570/using-pre-compiled-headers-with-cmake
+
 2015-04-01  Gwang Yoon Hwang  <yoon@igalia.com>
 
         Use colored diagnostics when building with cmake + ninja + clang
index a6408f3fc88f2f0e60bb779ce95aaa11e0a6ae4d..ceddfb16af8a88065f0ecd2ac182a0bbeee25e59 100644 (file)
@@ -1,7 +1,10 @@
 # -----------------------------------------------------------------------------
 # Add module directories
 # -----------------------------------------------------------------------------
-add_subdirectory(bmalloc)
+# FIXME: Port bmalloc to Windows. https://bugs.webkit.org/show_bug.cgi?id=143310
+if (NOT WIN32)
+    add_subdirectory(bmalloc)
+endif ()
 
 add_subdirectory(WTF)
 
index 721127652d888f501ab6c217b8334419043f5864..340e8ac3d6ce4fef5d87d5144e4222c017b8eb58 100644 (file)
@@ -738,6 +738,7 @@ add_custom_command(
 # files are used to build JavaScriptCore itself, we can just add LLIntAssembly.h to JSC_HEADERS
 # since it is used in the add_library() call at the end of this file.
 if (MSVC)
+    enable_language(ASM_MASM)
     list(APPEND JavaScriptCore_SOURCES
         ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LowLevelInterpreterWin.asm
     )
@@ -1078,6 +1079,8 @@ add_custom_command(
     VERBATIM)
 
 # Inspector Backend Dispatchers, Frontend Dispatchers, Type Builders
+file(MAKE_DIRECTORY ${DERIVED_SOURCES_WEBINSPECTORUI_DIR}/UserInterface/Protocol)
+file(MAKE_DIRECTORY ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector)
 add_custom_command(
     OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorBackendDispatchers.cpp
            ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorBackendDispatchers.h
@@ -1085,12 +1088,11 @@ add_custom_command(
            ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorFrontendDispatchers.h
            ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorProtocolObjects.cpp
            ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorProtocolObjects.h
-           ${DERIVED_SOURCES_WEBINSPECTORUI_DIR}/UserInterface/Protocol/InspectorBackendCommands.js
+           ${DERIVED_SOURCES_WEBINSPECTORUI_DIR}/inspector/InspectorBackendCommands.js
     MAIN_DEPENDENCY ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/CombinedDomains.json
     DEPENDS ${JavaScriptCore_INSPECTOR_PROTOCOL_SCRIPTS}
-    COMMAND ${PYTHON_EXECUTABLE} ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/generate-inspector-protocol-bindings.py --outputDir "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}" --framework JavaScriptCore ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/CombinedDomains.json && mkdir -p ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector && cp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorBackendDispatchers.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorBackendDispatchers.cpp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorFrontendDispatchers.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorFrontendDispatchers.cpp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorProtocolObjects.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorProtocolObjects.cpp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector && mkdir -p ${DERIVED_SOURCES_WEBINSPECTORUI_DIR}/UserInterface/Protocol && cp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorBackendCommands.js ${DERIVED_SOURCES_WEBINSPECTORUI_DIR}/UserInterface/Protocol
+    COMMAND ${PYTHON_EXECUTABLE} ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/generate-inspector-protocol-bindings.py --outputDir "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector" --framework JavaScriptCore ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/CombinedDomains.json
     VERBATIM)
-file(MAKE_DIRECTORY ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector)
 
 # JSCBuiltins
 file(GLOB JSCBuiltins_js_files "${CMAKE_CURRENT_SOURCE_DIR}/builtins/*.js")
index cb5d7aeacb585e68fe4f4bd13bf57ef254ee88fe..7672a8bb115bfbe82a55dd22b5bf36ac4c06a279 100644 (file)
@@ -1,3 +1,16 @@
+2015-04-01  Alex Christensen  <achristensen@webkit.org>
+
+        Progress towards CMake on Windows and Mac.
+        https://bugs.webkit.org/show_bug.cgi?id=143293
+
+        Reviewed by Filip Pizlo.
+
+        * CMakeLists.txt:
+        Enabled using assembly on Windows.
+        Replaced unix commands with CMake commands.
+        * PlatformMac.cmake:
+        Tell open source builders where to find unicode headers.
+
 2015-04-01  Yusuke Suzuki  <utatane.tea@gmail.com>
 
         IteratorClose should be called when jumping over the target for-of loop
index ef4c818e99dafd49d516859ba16e69d07e122156..b747df7a7d2c2a8dd8201fa36d88fa1327fa7718 100644 (file)
@@ -34,6 +34,7 @@ add_custom_command(
 
 list(APPEND JavaScriptCore_INCLUDE_DIRECTORIES
     ${JAVASCRIPTCORE_DIR}/disassembler/udis86
+    ${JAVASCRIPTCORE_DIR}/icu
 )
 list(APPEND JavaScriptCore_HEADERS
     ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/TracingDtrace.h
index 080da6d308b103040679e8fbaefb3ff480a96563..70daa1959400263d93d55a6dec32103e56d22786 100644 (file)
@@ -1,3 +1,13 @@
+2015-04-01  Alex Christensen  <achristensen@webkit.org>
+
+        Progress towards CMake on Windows and Mac.
+        https://bugs.webkit.org/show_bug.cgi?id=143293
+
+        Reviewed by Filip Pizlo.
+
+        * include/GLES2/gl2.h:
+        Temporarily disabled WebGL on Windows CMake builds.
+
 2015-03-17  Zan Dobersek  <zdobersek@igalia.com>
 
         [CMake] Use a forwarding header for ANGLE's ShaderLang.h to avoid picking up ANGLE's EGL headers
index 9ab58324c46b7d7c8787f6853ddd69acde30becb..5ccda4c0b77ee6dd9e51c44282b78c5c51c00525 100644 (file)
@@ -470,7 +470,8 @@ typedef khronos_ssize_t  GLsizeiptr;
  * GL core functions.
  *-----------------------------------------------------------------------*/
 
-#if defined(_MSC_VER) && !defined(ANGLE_WEBKIT_WIN)
+// FIXME: Get WebGL working on Windows with CMake. https://bugs.webkit.org/show_bug.cgi?id=143311
+#if defined(_MSC_VER) && !defined(ANGLE_WEBKIT_WIN) && !defined(BUILDING_WITH_CMAKE)
 #include <GLES2/gl2softlinking.h>
 #else
 
index ee232774326d4b5aa6ce89ed8859eb0b3518068b..684f523e84c484c7ba772ef70ab79eb80be607ab 100644 (file)
@@ -1,3 +1,17 @@
+2015-04-01  Alex Christensen  <achristensen@webkit.org>
+
+        Progress towards CMake on Windows and Mac.
+        https://bugs.webkit.org/show_bug.cgi?id=143293
+
+        Reviewed by Filip Pizlo.
+
+        * wtf/CMakeLists.txt:
+        Don't use bmalloc on Windows yet.
+        * wtf/FeatureDefines.h:
+        Temporarily disabled WebGL on Windows CMake builds.
+        * wtf/PlatformMac.cmake:
+        Tell open source builders where to find unicode headers.
+
 2015-03-31  Alexey Proskuryakov  <ap@apple.com>
 
         Fix the build after <http://trac.webkit.org/changeset/182205>.
index 1b12a683049d4b3a3ed46d1eb63132de61293202..dc1905546c5ef05e1e11a1d7c5c83ac364099f0e 100644 (file)
@@ -221,9 +221,13 @@ set(WTF_INCLUDE_DIRECTORIES
 
 set(WTF_LIBRARIES
     ${CMAKE_DL_LIBS}
-    bmalloc
 )
 
+# FIXME: Port bmalloc to Windows. https://bugs.webkit.org/show_bug.cgi?id=143310
+if (NOT WIN32)
+    list(APPEND WTF_LIBRARIES bmalloc)
+endif ()
+
 list(APPEND WTF_SOURCES
     unicode/icu/CollatorICU.cpp
 )
index 16f5ac3fa09ba30e86dd8463b264278a6626ce3f..02ad0f506019b5acab8e533031b21b87d64fc2b3 100644 (file)
@@ -260,8 +260,13 @@ the public iOS SDK. We will also need to update the FeatureDefines.xcconfig file
 #endif
 
 #if !defined(ENABLE_WEBGL)
+// FIXME: Get WebGL working on Windows with CMake. https://bugs.webkit.org/show_bug.cgi?id=143311
+#if defined(BUILDING_WITH_CMAKE)
+#define ENABLE_WEBGL 0
+#else
 #define ENABLE_WEBGL 1
 #endif
+#endif
 
 #endif /* PLATFORM(WIN) && !PLATFORM(WIN_CAIRO) */
 
@@ -279,8 +284,13 @@ the public iOS SDK. We will also need to update the FeatureDefines.xcconfig file
 #endif
 
 #if !defined(ENABLE_WEBGL)
+// FIXME: Get WebGL working on Windows with CMake. https://bugs.webkit.org/show_bug.cgi?id=143311
+#if defined(BUILDING_WITH_CMAKE)
+#define ENABLE_WEBGL 0
+#else
 #define ENABLE_WEBGL 1
 #endif
+#endif
 
 #endif /* PLATFORM(WIN_CAIRO) */
 
index 5f81e711e2bf62c38731a6df00229dff90e2be80..8d107c730eaac3715c9290e57553529ad3292995 100644 (file)
@@ -20,3 +20,7 @@ list(APPEND WTF_SOURCES
     text/mac/StringMac.mm
     text/mac/StringViewObjC.mm
 )
+
+list(APPEND WTF_INCLUDE_DIRECTORIES
+    "${WTF_DIR}/icu"
+)
index cab5edc22d046721cb5998d4048a44a1bf6682cb..bf233ee969e468e47e843cc4a038611b2fe92dc1 100644 (file)
@@ -1,3 +1,29 @@
+2015-04-01  Alex Christensen  <achristensen@webkit.org>
+
+        Progress towards CMake on Windows and Mac.
+        https://bugs.webkit.org/show_bug.cgi?id=143293
+
+        Reviewed by Filip Pizlo.
+
+        * PlatformMac.cmake:
+        Tell open source builders where to find unicode headers.
+        * PlatformWin.cmake:
+        Include PlatformWinCairo.cmake.
+        * PlatformWinCairo.cmake:
+        Added from bug 115944 by Patrick Gansterer.
+        * bindings/js/JSDOMStringListCustom.cpp:
+        * bindings/js/JSDOMWrapper.cpp:
+        * bindings/js/JSMessageChannelCustom.cpp:
+        * bindings/js/JSPopStateEventCustom.cpp:
+        * bindings/js/JSReadableStreamCustom.cpp:
+        * bindings/js/ReadableStreamJSSource.cpp:
+        * bindings/js/ScriptController.cpp:
+        * css/CSSComputedStyleDeclaration.cpp:
+        * dom/Attr.cpp:
+        * dom/CollectionIndexCache.cpp:
+        * platform/graphics/ANGLEWebKitBridge.h:
+        Fixed include quirks.
+
 2015-03-31  Simon Fraser  <simon.fraser@apple.com>
 
         Remove scrolling tree dependency on wheel event handler counts, and use fast scrolling even when there are wheel handlers
index 451abc114489bf3dc492772ffafb67f3883e2c73..6cd906a7e0aaed6aff8d0710193e1e9da373fd92 100644 (file)
@@ -3,6 +3,7 @@ list(APPEND WebCore_INCLUDE_DIRECTORIES
     "${WEBCORE_DIR}/bindings/objc"
     "${WEBCORE_DIR}/bridge/objc"
     "${WEBCORE_DIR}/editing/mac"
+    "${WEBCORE_DIR}/icu"
     "${WEBCORE_DIR}/loader/archive/cf"
     "${WEBCORE_DIR}/loader/cf"
     "${WEBCORE_DIR}/loader/mac"
@@ -83,7 +84,7 @@ list(APPEND WebCore_SOURCES
     platform/cf/MediaAccessibilitySoftLink.cpp
     platform/cf/RunLoopObserver.cpp
     platform/cf/SharedBufferCF.cpp
-    platform/cf/SharedTimerCF.mm
+    platform/cf/SharedTimerCF.cpp
     platform/cf/URLCF.cpp
 
     platform/cocoa/DisplaySleepDisablerCocoa.cpp
index dc56b0ed45a2c916e32e08a99c5f9c6fdf78a1ce..75f074c24e617446ddb3098bef5343005e2977cc 100644 (file)
@@ -25,7 +25,6 @@ list(APPEND WebCore_SOURCES
     platform/graphics/opentype/OpenTypeUtilities.cpp
 
     platform/graphics/win/DIBPixelData.cpp
-    platform/graphics/win/GDIExtras.cpp
     platform/graphics/win/IconWin.cpp
     platform/graphics/win/ImageWin.cpp
     platform/graphics/win/IntPointWin.cpp
@@ -65,28 +64,18 @@ list(APPEND WebCore_SOURCES
     platform/win/WebCoreInstanceHandle.cpp
     platform/win/WheelEventWin.cpp
     platform/win/WidgetWin.cpp
-
-    plugins/PluginDatabase.cpp
-    plugins/PluginPackage.cpp
-
-    plugins/win/PluginDatabaseWin.cpp
 )
 
-if (ENABLE_NETSCAPE_PLUGIN_API)
-    list(APPEND WebCore_SOURCES
-        plugins/PluginView.cpp
-        plugins/npapi.cpp
-
-        plugins/win/PluginMessageThrottlerWin.cpp
-        plugins/win/PluginPackageWin.cpp
-        plugins/win/PluginViewWin.cpp
-    )
-endif ()
+ADD_PRECOMPILED_HEADER("WebCorePrefix" WebCore_SOURCES)
 
 list(APPEND WebCore_SOURCES
     "${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreHeaderDetection.h"
 )
 
+if (${WTF_PLATFORM_WIN_CAIRO})
+    include(PlatformWinCairo.cmake)
+endif ()
+
 # FIXME: This should test if AVF headers are available.
 # https://bugs.webkit.org/show_bug.cgi?id=135861
 add_custom_command(
diff --git a/Source/WebCore/PlatformWinCairo.cmake b/Source/WebCore/PlatformWinCairo.cmake
new file mode 100644 (file)
index 0000000..d7ddf41
--- /dev/null
@@ -0,0 +1,231 @@
+list(APPEND WebCore_INCLUDE_DIRECTORIES
+    "${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore"
+    "${DirectX_INCLUDE_DIRS}"
+    "$ENV{WEBKIT_LIBRARIES}/include"
+    "$ENV{WEBKIT_LIBRARIES}/include/cairo"
+    "$ENV{WEBKIT_LIBRARIES}/include/SQLite"
+    "$ENV{WEBKIT_LIBRARIES}/include/zlib"
+    "${JAVASCRIPTCORE_DIR}/wtf/text"
+    "${WEBCORE_DIR}/loader/archive/cf"
+    "${WEBCORE_DIR}/platform/cf"
+    "${WEBCORE_DIR}/platform/graphics/cairo"
+    "${WEBCORE_DIR}/platform/network/curl"
+    "${WEBCORE_DIR}/platform/network/win"
+)
+
+list(APPEND WebCore_SOURCES
+    accessibility/win/AXObjectCacheWin.cpp
+    accessibility/win/AccessibilityObjectWin.cpp
+    accessibility/win/AccessibilityObjectWrapperWin.cpp
+
+    editing/SmartReplace.cpp
+    editing/SmartReplaceCF.cpp
+
+    loader/archive/cf/LegacyWebArchive.cpp
+
+    page/win/FrameCairoWin.cpp
+    page/win/FrameWin.cpp
+
+    platform/cf/CFURLExtras.cpp
+    platform/cf/FileSystemCF.cpp
+    platform/cf/SharedBufferCF.cpp
+
+    platform/cf/win/CertificateCFWin.cpp
+
+    platform/graphics/FontPlatformData.cpp
+    platform/graphics/GLContext.cpp
+    platform/graphics/GraphicsLayer.cpp
+    platform/graphics/ImageSource.cpp
+    platform/graphics/ShadowBlur.cpp
+    platform/graphics/WOFFFileFormat.cpp
+
+    platform/graphics/cairo/BitmapImageCairo.cpp
+    platform/graphics/cairo/CairoUtilities.cpp
+    platform/graphics/cairo/FloatRectCairo.cpp
+    platform/graphics/cairo/FontCairo.cpp
+    platform/graphics/cairo/GradientCairo.cpp
+    platform/graphics/cairo/GraphicsContext3DCairo.cpp
+    platform/graphics/cairo/GraphicsContextCairo.cpp
+    platform/graphics/cairo/ImageBufferCairo.cpp
+    platform/graphics/cairo/ImageCairo.cpp
+    platform/graphics/cairo/IntRectCairo.cpp
+    platform/graphics/cairo/OwnPtrCairo.cpp
+    platform/graphics/cairo/PathCairo.cpp
+    platform/graphics/cairo/PatternCairo.cpp
+    platform/graphics/cairo/PlatformContextCairo.cpp
+    platform/graphics/cairo/PlatformPathCairo.cpp
+    platform/graphics/cairo/RefPtrCairo.cpp
+    platform/graphics/cairo/TransformationMatrixCairo.cpp
+
+    platform/graphics/win/DIBPixelData.cpp
+    platform/graphics/win/FontCacheWin.cpp
+    platform/graphics/win/FontCustomPlatformDataCairo.cpp
+    platform/graphics/win/FontPlatformDataCairoWin.cpp
+    platform/graphics/win/FontPlatformDataWin.cpp
+    platform/graphics/win/FontWin.cpp
+    platform/graphics/win/FullScreenController.cpp
+    platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp
+    platform/graphics/win/GraphicsContextCairoWin.cpp
+    platform/graphics/win/GraphicsContextWin.cpp
+    platform/graphics/win/ImageCairoWin.cpp
+    platform/graphics/win/SimpleFontDataCairoWin.cpp
+    platform/graphics/win/SimpleFontDataWin.cpp
+    platform/graphics/win/TransformationMatrixWin.cpp
+    platform/graphics/win/UniscribeController.cpp
+
+    platform/image-decoders/cairo/ImageDecoderCairo.cpp
+
+    platform/network/CredentialStorage.cpp
+    platform/network/NetworkStorageSessionStub.cpp
+    platform/network/SynchronousLoaderClient.cpp
+
+    platform/network/curl/CookieJarCurl.cpp
+    platform/network/curl/CredentialStorageCurl.cpp
+    platform/network/curl/CurlDownload.cpp
+    platform/network/curl/DNSCurl.cpp
+    platform/network/curl/FormDataStreamCurl.cpp
+    platform/network/curl/MultipartHandle.cpp
+    platform/network/curl/ProxyServerCurl.cpp
+    platform/network/curl/ResourceHandleCurl.cpp
+    platform/network/curl/ResourceHandleManager.cpp
+    platform/network/curl/SocketStreamHandleCurl.cpp
+
+    platform/network/win/DownloadBundleWin.cpp
+
+    platform/text/cf/HyphenationCF.cpp
+
+    platform/text/win/LocaleWin.cpp
+    platform/text/win/TextBreakIteratorInternalICUWin.cpp
+
+    platform/win/DelayLoadedModulesEnumerator.cpp
+    platform/win/DragImageCairoWin.cpp
+    platform/win/GDIObjectCounter.cpp
+    platform/win/ImportedFunctionsEnumerator.cpp
+    platform/win/ImportedModulesEnumerator.cpp
+    platform/win/LoggingWin.cpp
+    platform/win/PEImage.cpp
+    platform/win/PathWalker.cpp
+    platform/win/ScrollbarThemeSafari.cpp
+    platform/win/WebCoreBundleWin.cpp
+    platform/win/WebCoreTextRenderer.cpp
+    platform/win/WindowMessageBroadcaster.cpp
+
+    rendering/RenderLayerBacking.cpp
+    rendering/RenderLayerCompositor.cpp
+    rendering/RenderThemeSafari.cpp
+    rendering/RenderThemeWin.cpp
+)
+
+list(APPEND WebCore_USER_AGENT_STYLE_SHEETS
+    ${WEBCORE_DIR}/css/themeWin.css
+    ${WEBCORE_DIR}/css/themeWinQuirks.css
+)
+
+list(APPEND WebCore_LIBRARIES
+    ${DirectX_LIBRARIES}
+    CFLite
+    SQLite3
+    cairo
+    comctl32
+    crypt32
+    iphlpapi
+    libcurl_imp
+    libjpeg
+    libpng
+    libxml2
+    libxslt
+    rpcrt4
+    shlwapi
+    usp10
+    version
+    winmm
+    ws2_32
+    zdll
+)
+
+list(APPEND WebCoreTestSupport_LIBRARIES
+    CFLite
+    cairo
+    shlwapi
+)
+
+set(WebCore_FORWARDING_HEADERS_DIRECTORIES
+    accessibility
+    bindings
+    bridge
+    css
+    dom
+    editing
+    history
+    html
+    inspector
+    loader
+    page
+    platform
+    plugins
+    rendering
+    storage
+    svg
+    websockets
+    workers
+    xml
+
+    Modules/geolocation
+    Modules/notifications
+    Modules/webdatabase
+
+    accessibility/win
+
+    bindings/generic
+    bindings/js
+
+    bridge/jsc
+
+    history/cf
+
+    html/forms
+    html/parser
+
+    loader/appcache
+    loader/archive
+    loader/cache
+    loader/icon
+
+    loader/archive/cf
+
+    page/animation
+    page/win
+
+    platform/animation
+    platform/cf
+    platform/graphics
+    platform/mock
+    platform/network
+    platform/sql
+    platform/text
+    platform/win
+
+    platform/cf/win
+
+    platform/graphics/cairo
+    platform/graphics/opentype
+    platform/graphics/transforms
+    platform/graphics/win
+
+    platform/graphics/ca/win
+
+    platform/network/curl
+
+    platform/text/transcoder
+
+    rendering/style
+    rendering/svg
+
+    svg/animation
+    svg/graphics
+    svg/properties
+
+    svg/graphics/filters
+)
+
+WEBKIT_CREATE_FORWARDING_HEADERS(WebCore DIRECTORIES ${WebCore_FORWARDING_HEADERS_DIRECTORIES})
index 00e141b1397507a6c35d4235f657964c8a2e1a82..dd8358d4836ee1d128886528f213efa3cd1f8198 100644 (file)
@@ -19,6 +19,7 @@
 #include "config.h"
 #include "JSDOMStringList.h"
 
+#include "DOMWrapperWorld.h"
 #include <runtime/JSCJSValueInlines.h>
 
 using namespace JSC;
index 1629ae57e5510077f99754db5a002c6511282e13..3145a3e6b076f76a8d571e7f8a09e7194b39214e 100644 (file)
@@ -26,6 +26,7 @@
 #include "config.h"
 #include "JSDOMWrapper.h"
 
+#include "DOMWrapperWorld.h"
 #include <runtime/Error.h>
 
 using namespace JSC;
index d8a8e4877fbcffb1f588dea4ff28e74c13c72db4..01965e4b427266ffd2789c8b9b2848a9ae2da87a 100644 (file)
@@ -27,6 +27,7 @@
 
 #if ENABLE(CHANNEL_MESSAGING)
 
+#include "DOMWrapperWorld.h"
 #include "JSMessageChannel.h"
 #include <heap/SlotVisitorInlines.h>
 
index 47aec8085cc8c6bc079283a4a94813cea72bbefb..95aee34a9a29d973690eec863fa441e69fca5c49 100644 (file)
@@ -31,6 +31,7 @@
 #include "config.h"
 #include "JSPopStateEvent.h"
 
+#include "DOMWrapperWorld.h"
 #include "JSHistory.h"
 #include <runtime/JSCJSValueInlines.h>
 
index 24555ea7575f85016066f911e179831ebe8a98c3..f912ab312a914748115ac6ff16566c4d0faa8030 100644 (file)
 #include "JSReadableStream.h"
 
 #include "ExceptionCode.h"
+#include "JSDOMBinding.h"
 #include "JSDOMPromise.h"
 #include "JSReadableStreamReader.h"
 #include "ReadableStream.h"
 #include "ReadableStreamJSSource.h"
 #include "ReadableStreamReader.h"
+#include <runtime/Error.h>
 #include <wtf/NeverDestroyed.h>
 
 using namespace JSC;
index 1ed0055137687719777cfc1ba4a92af20b380794..0fbc8967705f6c2294c8b3be29aa7954570a5394 100644 (file)
@@ -32,6 +32,7 @@
 #if ENABLE(STREAMS_API)
 #include "ReadableStreamJSSource.h"
 
+#include "DOMWrapperWorld.h"
 #include "JSDOMPromise.h"
 #include "JSReadableStream.h"
 #include "NotImplemented.h"
index 969b1190c6d9ae54c61d870e46880653154dc505..e0d50a11696ddd26703f66a97ea99c16446cdc4c 100644 (file)
@@ -52,6 +52,7 @@
 #include <debugger/Debugger.h>
 #include <heap/StrongInlines.h>
 #include <inspector/ScriptCallStack.h>
+#include <profiler/Profile.h>
 #include <runtime/InitializeThreading.h>
 #include <runtime/JSLock.h>
 #include <wtf/Threading.h>
index 6a4ef91c1957ff864b6e79c4ccba3fbe69a3373b..d9463802a84f49089f536bfef00538e204fc7bbb 100644 (file)
@@ -56,6 +56,7 @@
 #include "Pair.h"
 #include "PseudoElement.h"
 #include "Rect.h"
+#include "RenderBlock.h"
 #include "RenderBox.h"
 #include "RenderStyle.h"
 #include "SVGElement.h"
index d15559f3458025f4e52bd671e0176407e1599285..18570f1d87431a1f3a44da03e58a2ec5ff71a78c 100644 (file)
@@ -23,6 +23,7 @@
 #include "config.h"
 #include "Attr.h"
 
+#include "Event.h"
 #include "ExceptionCode.h"
 #include "ScopedEventQueue.h"
 #include "StyleProperties.h"
index e15b5916fc7c020339f2a99b9229490b22b6dbea..dd9d6565bc7085a3fafd742b7e2d3b10c54a581c 100644 (file)
@@ -26,6 +26,7 @@
 #include "config.h"
 #include "CollectionIndexCache.h"
 
+#include "DOMWindow.h"
 #include "JSDOMWindowBase.h"
 
 namespace WebCore {
index 85a34a3992ec77fbfa396e3119fac4b4b4ecf9a2..a0a5964f64f96878c94069321c98a001082ebb8d 100644 (file)
@@ -31,7 +31,7 @@
 
 #if !PLATFORM(GTK) && !PLATFORM(EFL) && !PLATFORM(WIN) && !defined(BUILDING_WITH_CMAKE)
 #include "ANGLE/ShaderLang.h"
-#elif PLATFORM(WIN)
+#elif PLATFORM(WIN) && !defined(BUILDING_WITH_CMAKE)
 #include "GLSLANG/ShaderLang.h"
 #else
 #include <ANGLE/ShaderLang.h>
index a65208eff9e48f339bd6183ce73b269f3859b11b..2f354e0790538b1ed59e0bcd04ef66f3b353a599 100644 (file)
@@ -1,3 +1,13 @@
+2015-04-01  Alex Christensen  <achristensen@webkit.org>
+
+        Progress towards CMake on Windows and Mac.
+        https://bugs.webkit.org/show_bug.cgi?id=143293
+
+        Reviewed by Filip Pizlo.
+
+        * PlatformMac.cmake:
+        Fixed some include directories.
+
 2015-03-26  Alex Christensen  <achristensen@webkit.org>
 
         Progress towards CMake on Mac.
index b25cbc851f82eae4b86e8985554dcf2cc8bac2b1..da610961c3fa358bb0bd4a4b3f110eb75e519129 100644 (file)
@@ -32,6 +32,7 @@ list(APPEND WebKit_LIBRARIES
 )
 
 list(APPEND WebKit_INCLUDE_DIRECTORIES
+    "${DERIVED_SOURCES_WEBCORE_DIR}"
     "${JAVASCRIPTCORE_DIR}/dfg"
     "${WEBCORE_DIR}/accessibility/mac"
     "${WEBCORE_DIR}/bindings/objc"
@@ -67,7 +68,7 @@ list(APPEND WebKit_INCLUDE_DIRECTORIES
     mac/DefaultDelegates
     mac/DOM
     mac/History
-    mac/icu/unicode
+    mac/icu
     mac/Misc
     mac/Panels
     mac/Plugins
index fe443a564f156bc2de8ae3483556d5cc6ff12a5f..7be2dda1a5cb4fdce3cf389ff9b79f0b373b54f9 100644 (file)
@@ -1,3 +1,13 @@
+2015-04-01  Alex Christensen  <achristensen@webkit.org>
+
+        Progress towards CMake on Windows and Mac.
+        https://bugs.webkit.org/show_bug.cgi?id=143293
+
+        Reviewed by Filip Pizlo.
+
+        * bmalloc/BAssert.h:
+        Removed ellipses from macros to appease Visual Studio.
+
 2015-03-13  Alex Christensen  <achristensen@webkit.org>
 
         Progress towards CMake on Mac.
index f58a2afabc1b9141994f67079cb814136b5a9a99..240f335542e5e7b5a5dfcb09d2cb1d36c913f168 100644 (file)
@@ -41,7 +41,7 @@
 
 #define BASSERT(x)
 
-#define IF_DEBUG(x...)
+#define IF_DEBUG(x)
 
 #endif // defined(NDEBUG)
 
@@ -52,7 +52,7 @@
 
 #define BASSERT(x) BASSERT_IMPL(x)
 
-#define IF_DEBUG(x...) x
+#define IF_DEBUG(x) x
 
 #endif // !defined(NDEBUG)
 
index e57d7046287e3d4433068678885f7bef4ec734a0..601881d8de29584f66896b7b3f57c59da8ec644d 100644 (file)
@@ -7,8 +7,8 @@ add_definitions(-DHAVE_CONFIG_H=1)
 # the reader.
 if (MSVC)
     # FIXME: Some codegenerators don't support paths with spaces. So use the executable name only.
-    get_filename_component(CODE_GENERATOR_PREPROCESSOR_EXECUTABLE ${CMAKE_CXX_COMPILER} NAME)
-    set(CODE_GENERATOR_PREPROCESSOR "${CODE_GENERATOR_PREPROCESSOR_EXECUTABLE} /nologo /EP")
+    get_filename_component(CODE_GENERATOR_PREPROCESSOR_EXECUTABLE ${CMAKE_CXX_COMPILER} ABSOLUTE)
+    set(CODE_GENERATOR_PREPROCESSOR "\"${CODE_GENERATOR_PREPROCESSOR_EXECUTABLE}\" /nologo /EP")
     set(CODE_GENERATOR_PREPROCESSOR_WITH_LINEMARKERS "${CODE_GENERATOR_PREPROCESSOR}")
 else ()
     set(CODE_GENERATOR_PREPROCESSOR "${CMAKE_CXX_COMPILER} -E -P -x c++")
index af8e1760ab2a101fd8847483f455880ada083151..f6d873632ccb864b1f07b030a58ef6a30e242359 100644 (file)
@@ -4,3 +4,6 @@ set(WTF_PLATFORM_WIN_CAIRO 1)
 set(WTF_USE_CF 1)
 set(WTF_USE_CURL 1)
 set(WTF_USE_ICU_UNICODE 1)
+set(WTF_USE_3D_GRAPHICS 1)
+
+add_definitions(-DWTF_PLATFORM_WIN_CAIRO=1)
index 45dcd502059eb37361fa6292dfc7bdacbe6ae80c..085c44a0332094cbe006e6173a31013a1e6e3ee1 100644 (file)
@@ -1,6 +1,12 @@
 add_definitions(-D_HAS_EXCEPTIONS=0 -DNOMINMAX -DUNICODE)
 
+#FIXME: Make sure these are the same as the Windows feature defines once we get CMake working on Windows.
 WEBKIT_OPTION_BEGIN()
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DRAG_SUPPORT ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_VENDOR_PREFIXES OFF)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PICTURE_SIZES ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PROMISES OFF)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIEW_MODE_CSS_MEDIA OFF)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_SYSTEM_MALLOC ON)
 WEBKIT_OPTION_END()
 
@@ -11,15 +17,11 @@ if (MSVC)
         /wd4018 /wd4068 /wd4099 /wd4100 /wd4127 /wd4138 /wd4146 /wd4180 /wd4189 /wd4201 /wd4244 /wd4251 /wd4267 /wd4275 /wd4288
         /wd4291 /wd4305 /wd4309 /wd4344 /wd4355 /wd4389 /wd4396 /wd4481 /wd4503 /wd4505 /wd4510 /wd4512 /wd4530 /wd4610 /wd4702
         /wd4706 /wd4800 /wd4819 /wd4951 /wd4952 /wd4996 /wd6011 /wd6031 /wd6211 /wd6246 /wd6255 /wd6387
+        /MP
     )
 
     string(REGEX REPLACE "/EH[a-z]+" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) # Disable C++ exceptions
     string(REGEX REPLACE "/GR" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) # Disable RTTI
-
-    if (NOT MSVC_VERSION LESS 1500)
-        set(CMAKE_C_FLAGS "/MP ${CMAKE_C_FLAGS}")
-        set(CMAKE_CXX_FLAGS "/MP ${CMAKE_CXX_FLAGS}")
-    endif ()
 endif ()
 
 set(PORT Win)
index c3dbc0dfaa24deab72775b51299cbad6deafebb5..e821c663d71b5a5a05137799d891613285a8f0b0 100644 (file)
@@ -1,4 +1,5 @@
 file(MAKE_DIRECTORY ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR})
+file(MAKE_DIRECTORY ${DERIVED_SOURCES_WTF_DIR})
 file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/Source/JavaScriptCore/runtime)
 
 file(MAKE_DIRECTORY ${DERIVED_SOURCES_WEBINSPECTORUI_DIR})
index 4e8edb0537f611e1f31249b82f55f2152cf1103f..84b53ac1bf81d7bad27f3e753aa746bf7237cc26 100644 (file)
@@ -23,6 +23,20 @@ macro(ADD_SOURCE_DEPENDENCIES _source _deps)
     set_source_files_properties(${_source} PROPERTIES OBJECT_DEPENDS "${_tmp}")
 endmacro()
 
+macro(ADD_PRECOMPILED_HEADER _name _output_source)
+    if (MSVC)
+        set_source_files_properties(${_name}.cpp
+            PROPERTIES COMPILE_FLAGS "/Yc\"${_name}.h\" /Fp\"${_name}.pch\""
+            OBJECT_OUTPUTS "${_name}.pch")
+        foreach (_file ${_input_files})
+            set_source_files_properties(${_file}
+                PROPERTIES COMPILE_FLAGS "/Yu\"${_name}.h\" /FI\"${_name}.h\" /Fp\"${_name}.pch\""
+                OBJECT_DEPENDS "${PrecompiledBinary}")
+        endforeach ()
+    endif ()
+    #FIXME: Add Xcode precompiled header support.
+    list(APPEND ${_output_source} ${PrecompiledSource})
+endmacro()
 
 # Helper macro which wraps generate-bindings.pl script.
 #   _output_source is a list name which will contain generated sources.(eg. WebCore_SOURCES)