Title: [187585] trunk
Revision
187585
Author
achristen...@apple.com
Date
2015-07-30 09:16:23 -0700 (Thu, 30 Jul 2015)

Log Message

Build AppleWin port with CMake
https://bugs.webkit.org/show_bug.cgi?id=147385

Reviewed by Martin Robinson.

.:

* Source/cmake/OptionsWindows.cmake:
Use the static multithreaded runtime.  Based on
http://www.cmake.org/Wiki/CMake_FAQ#How_can_I_build_my_MSVC_application_with_a_static_runtime.3F

Source/WebCore:

* CMakeLists.txt:
Add makesafeseh.asm to 32-bit build.  It needs to be after the ADD_PRECOMPILED_HEADER macro
because CMake can only set COMPILE_FLAGS once with set_source_files_properties, and we want 
to use that to add /safeseh instead of a precompiled header (which wouldn't be used anyway in assembly).
* PlatformAppleWin.cmake:
* PlatformWin.cmake:
* PlatformWinCairo.cmake:
Added missing source files and libraries.

Source/WebKit:

* PlatformWin.cmake:
Added missing source files and libraries.

Tools:

* WinLauncher/CMakeLists.txt:
Link to CoreFoundation.lib and added /NODEFAULTLIB:LIBCMT to get it to link successfully.

Modified Paths

Diff

Modified: trunk/ChangeLog (187584 => 187585)


--- trunk/ChangeLog	2015-07-30 15:56:35 UTC (rev 187584)
+++ trunk/ChangeLog	2015-07-30 16:16:23 UTC (rev 187585)
@@ -1,3 +1,14 @@
+2015-07-30  Alex Christensen  <achristen...@webkit.org>
+
+        Build AppleWin port with CMake
+        https://bugs.webkit.org/show_bug.cgi?id=147385
+
+        Reviewed by Martin Robinson.
+
+        * Source/cmake/OptionsWindows.cmake:
+        Use the static multithreaded runtime.  Based on
+        http://www.cmake.org/Wiki/CMake_FAQ#How_can_I_build_my_MSVC_application_with_a_static_runtime.3F
+
 2015-07-29  Andy VanWagoner  <thetalecraf...@gmail.com>
 
         Implement basic types for ECMAScript Internationalization API

Modified: trunk/Source/WebCore/CMakeLists.txt (187584 => 187585)


--- trunk/Source/WebCore/CMakeLists.txt	2015-07-30 15:56:35 UTC (rev 187584)
+++ trunk/Source/WebCore/CMakeLists.txt	2015-07-30 16:16:23 UTC (rev 187585)
@@ -3576,6 +3576,10 @@
 
 if (MSVC)
     ADD_PRECOMPILED_HEADER("WebCorePrefix.h" "WebCorePrefix.cpp" WebCore_SOURCES)
+    if (CMAKE_SIZEOF_VOID_P EQUAL 4)
+        list(APPEND WebCore_SOURCES platform/win/makesafeseh.asm)
+        set_source_files_properties(platform/win/makesafeseh.asm PROPERTIES COMPILE_FLAGS "/safeseh")
+    endif ()
 endif ()
 
 add_library(WebCore ${WebCore_LIBRARY_TYPE} ${WebCore_SOURCES})

Modified: trunk/Source/WebCore/ChangeLog (187584 => 187585)


--- trunk/Source/WebCore/ChangeLog	2015-07-30 15:56:35 UTC (rev 187584)
+++ trunk/Source/WebCore/ChangeLog	2015-07-30 16:16:23 UTC (rev 187585)
@@ -1,5 +1,21 @@
 2015-07-30  Alex Christensen  <achristen...@webkit.org>
 
+        Build AppleWin port with CMake
+        https://bugs.webkit.org/show_bug.cgi?id=147385
+
+        Reviewed by Martin Robinson.
+
+        * CMakeLists.txt:
+        Add makesafeseh.asm to 32-bit build.  It needs to be after the ADD_PRECOMPILED_HEADER macro
+        because CMake can only set COMPILE_FLAGS once with set_source_files_properties, and we want 
+        to use that to add /safeseh instead of a precompiled header (which wouldn't be used anyway in assembly).
+        * PlatformAppleWin.cmake:
+        * PlatformWin.cmake:
+        * PlatformWinCairo.cmake:
+        Added missing source files and libraries.
+
+2015-07-30  Alex Christensen  <achristen...@webkit.org>
+
         [Win] Unreviewed build fix after r187582.
 
         * accessibility/AccessibilityAllInOne.cpp:

Modified: trunk/Source/WebCore/PlatformAppleWin.cmake (187584 => 187585)


--- trunk/Source/WebCore/PlatformAppleWin.cmake	2015-07-30 15:56:35 UTC (rev 187584)
+++ trunk/Source/WebCore/PlatformAppleWin.cmake	2015-07-30 16:16:23 UTC (rev 187585)
@@ -13,6 +13,11 @@
 list(APPEND WebCore_SOURCES
     editing/SmartReplaceCF.cpp
 
+    loader/cf/ResourceLoaderCFNet.cpp
+
+    page/win/FrameCGWin.cpp
+
+    platform/cf/CFURLExtras.cpp
     platform/cf/URLCF.cpp
 
     platform/graphics/ca/GraphicsLayerCA.cpp
@@ -71,12 +76,16 @@
     platform/network/cf/FormDataStreamCFNet.cpp
     platform/network/cf/LoaderRunLoopCF.cpp
     platform/network/cf/NetworkStorageSessionCFNet.cpp
+    platform/network/cf/ProtectionSpaceCFNet.cpp
     platform/network/cf/ProxyServerCFNet.cpp
     platform/network/cf/ResourceErrorCF.cpp
     platform/network/cf/ResourceHandleCFNet.cpp
+    platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp
     platform/network/cf/ResourceRequestCFNet.cpp
     platform/network/cf/ResourceResponseCFNet.cpp
     platform/network/cf/SocketStreamHandleCFNet.cpp
+    platform/network/cf/SynchronousLoaderClientCFNet.cpp
+    platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp
 
     platform/win/DragImageCGWin.cpp
 )
@@ -92,3 +101,30 @@
     platform/spi/cf
     platform/spi/cg
 )
+
+list(APPEND WebCore_LIBRARIES
+    ASL
+    AVFoundationCF
+    CFNetwork
+    CoreAudioToolbox
+    CoreFoundation
+    CoreGraphics
+    CoreMedia
+    CoreText
+    CoreVideo
+    MediaAccessibility
+    MediaToolbox
+    QuartzCore
+    SQLite3
+    SafariTheme
+    WebKitQuartzCoreAdditions
+    icuin
+    icuuc
+    libdispatch
+    libexslt
+    libicuin
+    libicuuc
+    libxml2
+    libxslt
+    zdll
+)

Modified: trunk/Source/WebCore/PlatformWin.cmake (187584 => 187585)


--- trunk/Source/WebCore/PlatformWin.cmake	2015-07-30 15:56:35 UTC (rev 187584)
+++ trunk/Source/WebCore/PlatformWin.cmake	2015-07-30 16:16:23 UTC (rev 187585)
@@ -10,13 +10,18 @@
     "${WEBCORE_DIR}/plugins/win"
 )
 
+enable_language(ASM_MASM)
 list(APPEND WebCore_SOURCES
+    accessibility/win/AXObjectCacheWin.cpp
     accessibility/win/AccessibilityObjectWin.cpp
+    accessibility/win/AccessibilityObjectWrapperWin.cpp
 
     editing/win/EditorWin.cpp
 
     html/HTMLSelectElementWin.cpp
 
+    loader/archive/cf/LegacyWebArchive.cpp
+
     page/win/DragControllerWin.cpp
     page/win/EventHandlerWin.cpp
     page/win/FrameWin.cpp
@@ -28,9 +33,19 @@
 
     platform/audio/PlatformMediaSessionManager.cpp
 
+    platform/cf/FileSystemCF.cpp
+    platform/cf/SharedBufferCF.cpp
+
+    platform/cf/win/CertificateCFWin.cpp
+
+    platform/graphics/FontPlatformData.cpp
+    platform/graphics/WOFFFileFormat.cpp
+
     platform/graphics/opentype/OpenTypeUtilities.cpp
 
     platform/graphics/win/DIBPixelData.cpp
+    platform/graphics/win/FontCacheWin.cpp
+    platform/graphics/win/FontPlatformDataWin.cpp
     platform/graphics/win/FontWin.cpp
     platform/graphics/win/GraphicsContextWin.cpp
     platform/graphics/win/IconWin.cpp
@@ -39,9 +54,16 @@
     platform/graphics/win/IntRectWin.cpp
     platform/graphics/win/IntSizeWin.cpp
     platform/graphics/win/SimpleFontDataWin.cpp
+    platform/graphics/win/TransformationMatrixWin.cpp
+    platform/graphics/win/UniscribeController.cpp
 
+    platform/network/win/DownloadBundleWin.cpp
     platform/network/win/NetworkStateNotifierWin.cpp
 
+    platform/text/LocaleNone.cpp
+
+    platform/text/win/TextBreakIteratorInternalICUWin.cpp
+
     platform/win/BString.cpp
     platform/win/BitmapInfo.cpp
     platform/win/ClipboardUtilitiesWin.cpp
@@ -61,6 +83,7 @@
     platform/win/MemoryPressureHandlerWin.cpp
     platform/win/MIMETypeRegistryWin.cpp
     platform/win/PasteboardWin.cpp
+    platform/win/PathWalker.cpp
     platform/win/PlatformMouseEventWin.cpp
     platform/win/PlatformScreenWin.cpp
     platform/win/PopupMenuWin.cpp
@@ -70,13 +93,24 @@
     platform/win/SharedBufferWin.cpp
     platform/win/SharedTimerWin.cpp
     platform/win/SoundWin.cpp
+    platform/win/StructuredExceptionHandlerSuppressor.cpp
     platform/win/SystemInfo.cpp
     platform/win/WCDataObject.cpp
+    platform/win/WebCoreBundleWin.cpp
     platform/win/WebCoreInstanceHandle.cpp
+    platform/win/WebCoreTextRenderer.cpp
     platform/win/WheelEventWin.cpp
     platform/win/WidgetWin.cpp
+    platform/win/WindowMessageBroadcaster.cpp
+
+    rendering/RenderThemeWin.cpp
 )
 
+list(APPEND WebCore_USER_AGENT_STYLE_SHEETS
+    ${WEBCORE_DIR}/css/themeWin.css
+    ${WEBCORE_DIR}/css/themeWinQuirks.css
+)
+
 list(APPEND WebCore_SOURCES
     "${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreHeaderDetection.h"
 )

Modified: trunk/Source/WebCore/PlatformWinCairo.cmake (187584 => 187585)


--- trunk/Source/WebCore/PlatformWinCairo.cmake	2015-07-30 15:56:35 UTC (rev 187584)
+++ trunk/Source/WebCore/PlatformWinCairo.cmake	2015-07-30 16:16:23 UTC (rev 187585)
@@ -32,7 +32,6 @@
 
     platform/cf/win/CertificateCFWin.cpp
 
-    platform/graphics/FontPlatformData.cpp
     platform/graphics/GLContext.cpp
     platform/graphics/GraphicsLayer.cpp
     platform/graphics/ImageSource.cpp
@@ -76,7 +75,6 @@
     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
@@ -150,11 +148,6 @@
     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

Modified: trunk/Source/WebKit/ChangeLog (187584 => 187585)


--- trunk/Source/WebKit/ChangeLog	2015-07-30 15:56:35 UTC (rev 187584)
+++ trunk/Source/WebKit/ChangeLog	2015-07-30 16:16:23 UTC (rev 187585)
@@ -1,3 +1,13 @@
+2015-07-30  Alex Christensen  <achristen...@webkit.org>
+
+        Build AppleWin port with CMake
+        https://bugs.webkit.org/show_bug.cgi?id=147385
+
+        Reviewed by Martin Robinson.
+
+        * PlatformWin.cmake:
+        Added missing source files and libraries.
+
 2015-07-27  Alex Christensen  <achristen...@webkit.org>
 
         Use Ninja on Windows.

Modified: trunk/Source/WebKit/PlatformWin.cmake (187584 => 187585)


--- trunk/Source/WebKit/PlatformWin.cmake	2015-07-30 15:56:35 UTC (rev 187584)
+++ trunk/Source/WebKit/PlatformWin.cmake	2015-07-30 16:16:23 UTC (rev 187585)
@@ -14,6 +14,14 @@
         libeay32.lib
         ssleay32.lib
     )
+else ()
+    list(APPEND WebKit_SOURCES_Classes
+        win/WebDownloadCFNet.cpp
+        win/WebURLAuthenticationChallengeSenderCFNet.cpp
+    )
+    list(APPEND WebKit_LIBRARIES
+        WebKitSystemInterface
+    )
 endif ()
 
 list(APPEND WebKit_INCLUDE_DIRECTORIES
@@ -396,8 +404,15 @@
 set_target_properties(WebKitGUID PROPERTIES FOLDER "WebKit")
 
 list(APPEND WebKit_LIBRARIES
+    Comctl32
+    Comsupp
+    Crypt32
+    Iphlpapi
+    Rpcrt4
+    Shlwapi
+    Usp10
+    Version
     WebKitGUID
-    comsupp.lib
 )
 
 # We need the webkit libraries to come before the system default libraries to prevent symbol conflicts with uuid.lib.
@@ -406,7 +421,7 @@
 list(APPEND WebKit_LIBRARIES ${CXX_LIBS})
 set(CMAKE_CXX_STANDARD_LIBRARIES "")
 
-set(CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS} "/NODEFAULTLIB:LIBCMT")
+set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /NODEFAULTLIB:LIBCMT")
 
 # If this directory isn't created before midl runs and attempts to output WebKit.tlb,
 # It fails with an unusual error - midl failed - failed to save all changes

Modified: trunk/Source/cmake/OptionsWindows.cmake (187584 => 187585)


--- trunk/Source/cmake/OptionsWindows.cmake	2015-07-30 15:56:35 UTC (rev 187584)
+++ trunk/Source/cmake/OptionsWindows.cmake	2015-07-30 16:16:23 UTC (rev 187585)
@@ -31,6 +31,15 @@
         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
     endif ()
+
+    # Use the multithreaded static runtime library instead of the default DLL runtime.
+    foreach (flag_var
+        CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
+        CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
+        if (${flag_var} MATCHES "/MD")
+            string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
+        endif ()
+    endforeach ()
 endif ()
 
 set(PORT Win)

Modified: trunk/Tools/ChangeLog (187584 => 187585)


--- trunk/Tools/ChangeLog	2015-07-30 15:56:35 UTC (rev 187584)
+++ trunk/Tools/ChangeLog	2015-07-30 16:16:23 UTC (rev 187585)
@@ -1,3 +1,13 @@
+2015-07-30  Alex Christensen  <achristen...@webkit.org>
+
+        Build AppleWin port with CMake
+        https://bugs.webkit.org/show_bug.cgi?id=147385
+
+        Reviewed by Martin Robinson.
+
+        * WinLauncher/CMakeLists.txt:
+        Link to CoreFoundation.lib and added /NODEFAULTLIB:LIBCMT to get it to link successfully.
+
 2015-07-29  Andy VanWagoner  <thetalecraf...@gmail.com>
 
         Implement basic types for ECMAScript Internationalization API

Modified: trunk/Tools/WinLauncher/CMakeLists.txt (187584 => 187585)


--- trunk/Tools/WinLauncher/CMakeLists.txt	2015-07-30 15:56:35 UTC (rev 187584)
+++ trunk/Tools/WinLauncher/CMakeLists.txt	2015-07-30 16:16:23 UTC (rev 187585)
@@ -25,7 +25,6 @@
 )
 
 set(WinLauncher_LIBRARIES
-    CFLite
     DbgHelp
     WTF
     WebKit
@@ -36,6 +35,17 @@
     shlwapi
 )
 
+if (WTF_PLATFORM_WIN_CAIRO)
+    list(APPEND WinLauncher_LIBRARIES
+        CFLite
+    )
+else ()
+    list(APPEND WinLauncher_LIBRARIES
+        CoreFoundation
+    )
+endif ()
+
+set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /NODEFAULTLIB:LIBCMT")
 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /ENTRY:wWinMainCRTStartup")
 
 if (${WTF_PLATFORM_WIN_CAIRO})
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to