Fix quirks in CMake build on Mac and Windows
https://bugs.webkit.org/show_bug.cgi?id=147174

Reviewed by Gyuyoung Kim.

.:

* CMakeLists.txt:
* Source/cmake/OptionsWindows.cmake:
Added options I removed in r187022. They are indeed needed.
* Source/cmake/WebKitFS.cmake:
Make the DerivedSources/WebKit directory.

Source/JavaScriptCore:

* PlatformMac.cmake:
Add JSRemoteInspector.cpp and remove semicolon from command to make it actually run.

Source/WebCore:

* PlatformMac.cmake:
Removed files that don't exist any more.
* platform/win/WindowsTouch.h:
Only use definitions of touch structures when compiling with VS2012.

Source/WebKit:

* PlatformMac.cmake:
Fixed syntax, removed files that don't exist any more.

Source/WebKit/win:

* WebView.cpp:
Include winuser.h to get definitions of touch-related structures like tagGESTUREINFO.

Tools:

* CMakeLists.txt:
Don't build DumpRenderTree with CMake for now (until we get that working).
* WinLauncher/CMakeLists.txt:
Renamed WinLauncherLauncher to WinLauncher and WinLauncher to WinLauncherLib to match the Visual Studio build.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@187161 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a040612..b7cedd4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -18,6 +18,7 @@
 set(DERIVED_SOURCES_JAVASCRIPTCORE_DIR "${CMAKE_BINARY_DIR}/DerivedSources/JavaScriptCore")
 set(DERIVED_SOURCES_WEBCORE_DIR "${CMAKE_BINARY_DIR}/DerivedSources/WebCore")
 set(DERIVED_SOURCES_WEBKITLEGACY_DIR "${CMAKE_BINARY_DIR}/DerivedSources/WebKitLegacy")
+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")
diff --git a/ChangeLog b/ChangeLog
index 82ddf61..a93cd18 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2015-07-22  Alex Christensen  <achristensen@webkit.org>
+
+        Fix quirks in CMake build on Mac and Windows
+        https://bugs.webkit.org/show_bug.cgi?id=147174
+
+        Reviewed by Gyuyoung Kim.
+
+        * CMakeLists.txt:
+        * Source/cmake/OptionsWindows.cmake:
+        Added options I removed in r187022. They are indeed needed.
+        * Source/cmake/WebKitFS.cmake:
+        Make the DerivedSources/WebKit directory.
+
 2015-07-21  Carlos Garcia Campos  <cgarcia@igalia.com>
 
         Unreviewed. Update OptionsGTK.cmake and NEWS for 2.9.4 release.
diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog
index ac686cd57..a9524ad 100644
--- a/Source/JavaScriptCore/ChangeLog
+++ b/Source/JavaScriptCore/ChangeLog
@@ -1,3 +1,13 @@
+2015-07-22  Alex Christensen  <achristensen@webkit.org>
+
+        Fix quirks in CMake build on Mac and Windows
+        https://bugs.webkit.org/show_bug.cgi?id=147174
+
+        Reviewed by Gyuyoung Kim.
+
+        * PlatformMac.cmake:
+        Add JSRemoteInspector.cpp and remove semicolon from command to make it actually run.
+
 2015-07-21  Yusuke Suzuki  <utatane.tea@gmail.com>
 
         Add newTarget accessor to JS constructor written in C++
diff --git a/Source/JavaScriptCore/PlatformMac.cmake b/Source/JavaScriptCore/PlatformMac.cmake
index b747df7..bb6e6ca 100644
--- a/Source/JavaScriptCore/PlatformMac.cmake
+++ b/Source/JavaScriptCore/PlatformMac.cmake
@@ -12,6 +12,7 @@
     API/JSAPIWrapperObject.mm
     API/JSContext.mm
     API/JSManagedValue.mm
+    API/JSRemoteInspector.cpp
     API/JSStringRefCF.cpp
     API/JSValue.mm
     API/JSVirtualMachine.mm
@@ -29,7 +30,7 @@
     OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/TracingDtrace.h
     DEPENDS ${JAVASCRIPTCORE_DIR}/runtime/Tracing.d
     WORKING_DIRECTORY ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}
-    COMMAND dtrace -h -o "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/TracingDtrace.h" -s "${JAVASCRIPTCORE_DIR}/runtime/Tracing.d";
+    COMMAND dtrace -h -o "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/TracingDtrace.h" -s "${JAVASCRIPTCORE_DIR}/runtime/Tracing.d"
     VERBATIM)
 
 list(APPEND JavaScriptCore_INCLUDE_DIRECTORIES
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index ddabf5e..e9fa2e4 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,15 @@
+2015-07-22  Alex Christensen  <achristensen@webkit.org>
+
+        Fix quirks in CMake build on Mac and Windows
+        https://bugs.webkit.org/show_bug.cgi?id=147174
+
+        Reviewed by Gyuyoung Kim.
+
+        * PlatformMac.cmake:
+        Removed files that don't exist any more.
+        * platform/win/WindowsTouch.h:
+        Only use definitions of touch structures when compiling with VS2012.
+
 2015-07-22  Csaba Osztrogonác  <ossy@webkit.org>
 
         Fix cast-align warning in NetworkStateNotifierEfl.cpp
diff --git a/Source/WebCore/PlatformMac.cmake b/Source/WebCore/PlatformMac.cmake
index 982c4866..310434c 100644
--- a/Source/WebCore/PlatformMac.cmake
+++ b/Source/WebCore/PlatformMac.cmake
@@ -188,12 +188,6 @@
     platform/graphics/ca/TileGrid.cpp
     platform/graphics/ca/TransformationMatrixCA.cpp
 
-    platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp
-    platform/graphics/ca/mac/PlatformCAAnimationMac.mm
-    platform/graphics/ca/mac/PlatformCAFiltersMac.mm
-    platform/graphics/ca/mac/PlatformCALayerMac.mm
-    platform/graphics/ca/mac/WebTiledBackingLayer.mm
-
     platform/graphics/cg/BitmapImageCG.cpp
     platform/graphics/cg/ColorCG.cpp
     platform/graphics/cg/FloatPointCG.cpp
diff --git a/Source/WebCore/platform/win/WindowsTouch.h b/Source/WebCore/platform/win/WindowsTouch.h
index 9a26807..c2accfe 100644
--- a/Source/WebCore/platform/win/WindowsTouch.h
+++ b/Source/WebCore/platform/win/WindowsTouch.h
@@ -71,6 +71,9 @@
 #define GC_PRESSANDTAP 0x00000001
 #define GC_ROLLOVER GC_PRESSANDTAP
 
+// When building with CMake, we have the correct WINVER, so we do not need these definitions to soft link with user32.dll.
+#if !defined(BUILDING_WITH_CMAKE)
+
 // GESTUREINFO struct definition
 typedef struct tagGESTUREINFO {
     UINT cbSize;                    // size, in bytes, of this structure (including variable length Args field)
@@ -110,3 +113,5 @@
 DECLARE_HANDLE(HGESTUREINFO);
 
 #endif
+
+#endif
diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog
index d84580d..2100e2a 100644
--- a/Source/WebKit/ChangeLog
+++ b/Source/WebKit/ChangeLog
@@ -1,3 +1,13 @@
+2015-07-22  Alex Christensen  <achristensen@webkit.org>
+
+        Fix quirks in CMake build on Mac and Windows
+        https://bugs.webkit.org/show_bug.cgi?id=147174
+
+        Reviewed by Gyuyoung Kim.
+
+        * PlatformMac.cmake:
+        Fixed syntax, removed files that don't exist any more.
+
 2015-07-20  Brent Fulgham  <bfulgham@apple.com>
 
         [Win] Certain Debug builds can take close to 3 hours to link
diff --git a/Source/WebKit/PlatformMac.cmake b/Source/WebKit/PlatformMac.cmake
index 08f92b8..153afc7 100644
--- a/Source/WebKit/PlatformMac.cmake
+++ b/Source/WebKit/PlatformMac.cmake
@@ -20,7 +20,7 @@
 
 if ("${CURRENT_OSX_VERSION}" MATCHES "10.9")
 set(WEBKITSYSTEMINTERFACE_LIBRARY libWebKitSystemInterfaceMavericks.a)
-else if ("${CURRENT_OSX_VERSION}" MATCHES "10.10")
+elif ("${CURRENT_OSX_VERSION}" MATCHES "10.10")
 set(WEBKITSYSTEMINTERFACE_LIBRARY libWebKitSystemInterfaceYosemite.a)
 else ()
 set(WEBKITSYSTEMINTERFACE_LIBRARY libWebKitSystemInterfaceElCapitan.a)
@@ -138,11 +138,9 @@
     mac/Misc/WebKitLogging.m
     mac/Misc/WebKitNSStringExtras.mm
     mac/Misc/WebKitStatistics.m
-    mac/Misc/WebKitSystemBits.m
     mac/Misc/WebKitVersionChecks.m
     mac/Misc/WebLocalizableStrings.mm
     mac/Misc/WebLocalizableStringsInternal.mm
-    mac/Misc/WebNSArrayExtras.m
     mac/Misc/WebNSControlExtras.m
     mac/Misc/WebNSDataExtras.m
     mac/Misc/WebNSDictionaryExtras.m
@@ -179,7 +177,6 @@
     mac/Plugins/WebPluginDatabase.mm
     mac/Plugins/WebPluginPackage.mm
     mac/Plugins/WebPluginRequest.m
-    mac/Plugins/WebPluginsPrivate.m
     mac/Plugins/npapi.mm
 
     mac/Plugins/Hosted/HostedNetscapePluginStream.mm
@@ -228,7 +225,6 @@
     mac/WebCoreSupport/WebSecurityOrigin.mm
     mac/WebCoreSupport/WebSystemInterface.mm
     mac/WebCoreSupport/WebUserMediaClient.mm
-    mac/WebCoreSupport/WebViewGroup.mm
 
     mac/WebInspector/WebInspector.mm
     mac/WebInspector/WebInspectorFrontend.mm
diff --git a/Source/WebKit/win/ChangeLog b/Source/WebKit/win/ChangeLog
index 5edce59..653a6d5 100644
--- a/Source/WebKit/win/ChangeLog
+++ b/Source/WebKit/win/ChangeLog
@@ -1,3 +1,13 @@
+2015-07-22  Alex Christensen  <achristensen@webkit.org>
+
+        Fix quirks in CMake build on Mac and Windows
+        https://bugs.webkit.org/show_bug.cgi?id=147174
+
+        Reviewed by Gyuyoung Kim.
+
+        * WebView.cpp:
+        Include winuser.h to get definitions of touch-related structures like tagGESTUREINFO.
+
 2015-07-21  Sungmann Cho  <sungmann.cho@navercorp.com>
 
         [Win] Add needTouchEvents() stub to WebChromeClient.h for a successful build with ENABLE_TOUCH_EVENTS=ON
diff --git a/Source/WebKit/win/WebView.cpp b/Source/WebKit/win/WebView.cpp
index 1c173ac..a332c03 100644
--- a/Source/WebKit/win/WebView.cpp
+++ b/Source/WebKit/win/WebView.cpp
@@ -195,6 +195,7 @@
 #include <oleacc.h>
 #include <wchar.h>
 #include <windowsx.h>
+#include <winuser.h>
 #include <wtf/HashSet.h>
 #include <wtf/text/CString.h>
 #include <wtf/text/StringConcatenate.h>
diff --git a/Source/cmake/OptionsWindows.cmake b/Source/cmake/OptionsWindows.cmake
index 2fb3b1c..5a43711 100644
--- a/Source/cmake/OptionsWindows.cmake
+++ b/Source/cmake/OptionsWindows.cmake
@@ -21,6 +21,8 @@
         /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
 endif ()
 
 set(PORT Win)
diff --git a/Source/cmake/WebKitFS.cmake b/Source/cmake/WebKitFS.cmake
index 55c8400..b40a395 100644
--- a/Source/cmake/WebKitFS.cmake
+++ b/Source/cmake/WebKitFS.cmake
@@ -13,4 +13,5 @@
 
 if (ENABLE_WEBKIT)
     file(MAKE_DIRECTORY ${DERIVED_SOURCES_WEBKITLEGACY_DIR})
+    file(MAKE_DIRECTORY ${DERIVED_SOURCES_WEBKIT_DIR})
 endif ()
diff --git a/Tools/CMakeLists.txt b/Tools/CMakeLists.txt
index ec6f32e..5ad9ce6 100644
--- a/Tools/CMakeLists.txt
+++ b/Tools/CMakeLists.txt
@@ -28,7 +28,7 @@
 endif ()
 
 if (WIN32)
-    add_subdirectory(DumpRenderTree)
+    # FIXME: Get DumpRenderTree working with CMake.
     add_subdirectory(WinLauncher)
 endif ()
 
diff --git a/Tools/ChangeLog b/Tools/ChangeLog
index 9ccc6d7..6b51abc 100644
--- a/Tools/ChangeLog
+++ b/Tools/ChangeLog
@@ -1,3 +1,15 @@
+2015-07-22  Alex Christensen  <achristensen@webkit.org>
+
+        Fix quirks in CMake build on Mac and Windows
+        https://bugs.webkit.org/show_bug.cgi?id=147174
+
+        Reviewed by Gyuyoung Kim.
+
+        * CMakeLists.txt:
+        Don't build DumpRenderTree with CMake for now (until we get that working).
+        * WinLauncher/CMakeLists.txt:
+        Renamed WinLauncherLauncher to WinLauncher and WinLauncher to WinLauncherLib to match the Visual Studio build.
+
 2015-07-22  Xabier Rodriguez Calvar  <calvaris@igalia.com>
 
         [check-webkit-style] .lut.h files shouldn't raise a sorting issue
diff --git a/Tools/WinLauncher/CMakeLists.txt b/Tools/WinLauncher/CMakeLists.txt
index aca7740..212dc45 100644
--- a/Tools/WinLauncher/CMakeLists.txt
+++ b/Tools/WinLauncher/CMakeLists.txt
@@ -38,13 +38,16 @@
 
 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /ENTRY:wWinMainCRTStartup")
 
-add_definitions(-D_UNICODE -DWIN_CAIRO)
+if (${WTF_PLATFORM_WIN_CAIRO})
+    add_definitions(-DWIN_CAIRO)
+endif ()
+add_definitions(-D_UNICODE)
 include_directories(${WinLauncher_INCLUDE_DIRECTORIES})
-add_library(WinLauncher SHARED ${WinLauncher_SOURCES})
-target_link_libraries(WinLauncher ${WinLauncher_LIBRARIES})
-set_target_properties(WinLauncher PROPERTIES FOLDER "Tools")
+add_library(WinLauncherLib SHARED ${WinLauncher_SOURCES})
+target_link_libraries(WinLauncherLib ${WinLauncher_LIBRARIES})
+set_target_properties(WinLauncherLib PROPERTIES FOLDER "Tools")
 
-add_executable(WinLauncherLauncher WIN32 ${TOOLS_DIR}/win/DLLLauncher/DLLLauncherMain.cpp WinLauncher.vcxproj/WinLauncher.rc)
-target_link_libraries(WinLauncherLauncher shlwapi)
-set_target_properties(WinLauncherLauncher PROPERTIES FOLDER "Tools")
-set_target_properties(WinLauncherLauncher PROPERTIES OUTPUT_NAME "WinLauncher")
+add_executable(WinLauncher WIN32 ${TOOLS_DIR}/win/DLLLauncher/DLLLauncherMain.cpp WinLauncher.vcxproj/WinLauncher.rc)
+target_link_libraries(WinLauncher shlwapi)
+set_target_properties(WinLauncher PROPERTIES FOLDER "Tools")
+set_target_properties(WinLauncher PROPERTIES OUTPUT_NAME "WinLauncher")