Title: [217207] trunk
Revision
217207
Author
commit-qu...@webkit.org
Date
2017-05-22 00:15:21 -0700 (Mon, 22 May 2017)

Log Message

[Win][CMake] Move MSVC compiler options to a common location
https://bugs.webkit.org/show_bug.cgi?id=172230

Patch by Don Olmstead <don.olmst...@am.sony.com> on 2017-05-22
Reviewed by Yusuke Suzuki.

.:

* Source/cmake/OptionsMSVC.cmake: Added.
* Source/cmake/OptionsWin.cmake:

Source/WebKit:

* PlatformWin.cmake:

Modified Paths

Added Paths

Diff

Modified: trunk/ChangeLog (217206 => 217207)


--- trunk/ChangeLog	2017-05-22 06:57:08 UTC (rev 217206)
+++ trunk/ChangeLog	2017-05-22 07:15:21 UTC (rev 217207)
@@ -1,3 +1,13 @@
+2017-05-22  Don Olmstead  <don.olmst...@am.sony.com>
+
+        [Win][CMake] Move MSVC compiler options to a common location
+        https://bugs.webkit.org/show_bug.cgi?id=172230
+
+        Reviewed by Yusuke Suzuki.
+
+        * Source/cmake/OptionsMSVC.cmake: Added.
+        * Source/cmake/OptionsWin.cmake:
+
 2017-05-19  Don Olmstead  <don.olmst...@am.sony.com>
 
         [CMake] Add HAVE check for __int128_t

Modified: trunk/Source/WebKit/ChangeLog (217206 => 217207)


--- trunk/Source/WebKit/ChangeLog	2017-05-22 06:57:08 UTC (rev 217206)
+++ trunk/Source/WebKit/ChangeLog	2017-05-22 07:15:21 UTC (rev 217207)
@@ -1,3 +1,12 @@
+2017-05-22  Don Olmstead  <don.olmst...@am.sony.com>
+
+        [Win][CMake] Move MSVC compiler options to a common location
+        https://bugs.webkit.org/show_bug.cgi?id=172230
+
+        Reviewed by Yusuke Suzuki.
+
+        * PlatformWin.cmake:
+
 2017-04-20  Konstantin Tokarev  <annu...@yandex.ru>
 
         [cmake] Define FORWARDING_HEADERS_DIR in WebKitFS and use it everywhere

Modified: trunk/Source/WebKit/PlatformWin.cmake (217206 => 217207)


--- trunk/Source/WebKit/PlatformWin.cmake	2017-05-22 06:57:08 UTC (rev 217206)
+++ trunk/Source/WebKit/PlatformWin.cmake	2017-05-22 07:15:21 UTC (rev 217207)
@@ -445,22 +445,6 @@
 
 set(WebKit_LIBRARY_TYPE SHARED)
 
-# Make sure incremental linking is turned off, as it creates unacceptably long link times.
-string(REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replace_CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS})
-set(CMAKE_SHARED_LINKER_FLAGS "${replace_CMAKE_SHARED_LINKER_FLAGS} /INCREMENTAL:NO")
-string(REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replace_CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS})
-set(CMAKE_EXE_LINKER_FLAGS "${replace_CMAKE_EXE_LINKER_FLAGS} /INCREMENTAL:NO")
-
-string(REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replace_CMAKE_SHARED_LINKER_FLAGS_DEBUG ${CMAKE_SHARED_LINKER_FLAGS_DEBUG})
-set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${replace_CMAKE_SHARED_LINKER_FLAGS_DEBUG} /INCREMENTAL:NO")
-string(REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replace_CMAKE_EXE_LINKER_FLAGS_DEBUG ${CMAKE_EXE_LINKER_FLAGS_DEBUG})
-set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${replace_CMAKE_EXE_LINKER_FLAGS_DEBUG} /INCREMENTAL:NO")
-
-string(REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replace_CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO ${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO})
-set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "${replace_CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO} /INCREMENTAL:NO")
-string(REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replace_CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO})
-set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${replace_CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO} /INCREMENTAL:NO")
-
 set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SUBSYSTEM:WINDOWS")
 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:WINDOWS")
 

Added: trunk/Source/cmake/OptionsMSVC.cmake (0 => 217207)


--- trunk/Source/cmake/OptionsMSVC.cmake	                        (rev 0)
+++ trunk/Source/cmake/OptionsMSVC.cmake	2017-05-22 07:15:21 UTC (rev 217207)
@@ -0,0 +1,81 @@
+add_compile_options(
+    /wd4018 /wd4068 /wd4099 /wd4100 /wd4127 /wd4138 /wd4146 /wd4180 /wd4189
+    /wd4201 /wd4206 /wd4244 /wd4251 /wd4267 /wd4275 /wd4288 /wd4291 /wd4305
+    /wd4309 /wd4344 /wd4355 /wd4389 /wd4396 /wd4456 /wd4457 /wd4458 /wd4459
+    /wd4481 /wd4503 /wd4505 /wd4510 /wd4512 /wd4530 /wd4610 /wd4611 /wd4646
+    /wd4702 /wd4706 /wd4722 /wd4800 /wd4819 /wd4951 /wd4952 /wd4996 /wd6011
+    /wd6031 /wd6211 /wd6246 /wd6255 /wd6387
+)
+
+# Create pdb files for debugging purposes, also for Release builds
+add_compile_options(/Zi /GS)
+
+set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /DEBUG /OPT:ICF /OPT:REF")
+set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /DEBUG /OPT:ICF /OPT:REF")
+
+# We do not use exceptions
+add_definitions(-D_HAS_EXCEPTIONS=0)
+add_compile_options(/EHa- /EHc- /EHs- /fp:except-)
+
+# We have some very large object files that have to be linked
+add_compile_options(/analyze- /bigobj)
+
+# Use CRT security features
+add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1)
+
+# Turn off certain link features
+add_compile_options(/Gy- /openmp- /GF-)
+
+if (${CMAKE_BUILD_TYPE} MATCHES "Debug")
+    set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /OPT:NOREF /OPT:NOICF")
+    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /OPT:NOREF /OPT:NOICF")
+
+    # To debug linking time issues, uncomment the following three lines:
+    #add_compile_options(/Bv)
+    #set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /VERBOSE /VERBOSE:INCR /TIME")
+    #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /VERBOSE /VERBOSE:INCR /TIME")
+elseif (${CMAKE_BUILD_TYPE} MATCHES "Release")
+    add_compile_options(/Oy-)
+endif ()
+
+if (NOT ${CMAKE_GENERATOR} MATCHES "Ninja")
+    link_directories("${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}")
+    add_definitions(/MP)
+endif ()
+if (NOT ${CMAKE_CXX_FLAGS} STREQUAL "")
+    string(REGEX REPLACE "(/EH[a-z]+) " "\\1- " CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) # Disable C++ exceptions
+    string(REGEX REPLACE "/EHsc$" "/EHs- /EHc- " CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) # Disable C++ exceptions
+    string(REGEX REPLACE "/GR " "/GR- " CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) # Disable RTTI
+    string(REGEX REPLACE "/W3" "/W4" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) # Warnings are important
+endif ()
+
+foreach (flag_var
+    CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
+    CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO
+    CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
+    CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
+    # Use the multithreaded static runtime library instead of the default DLL runtime.
+    string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
+
+    # No debug runtime, even in debug builds.
+    if (NOT DEBUG_SUFFIX)
+        string(REGEX REPLACE "/MTd" "/MT" ${flag_var} "${${flag_var}}")
+        string(REGEX REPLACE "/D_DEBUG" "" ${flag_var} "${${flag_var}}")
+    endif ()
+endforeach ()
+
+# Make sure incremental linking is turned off, as it creates unacceptably long link times.
+string(REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replace_CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS})
+set(CMAKE_SHARED_LINKER_FLAGS "${replace_CMAKE_SHARED_LINKER_FLAGS} /INCREMENTAL:NO")
+string(REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replace_CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS})
+set(CMAKE_EXE_LINKER_FLAGS "${replace_CMAKE_EXE_LINKER_FLAGS} /INCREMENTAL:NO")
+
+string(REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replace_CMAKE_SHARED_LINKER_FLAGS_DEBUG ${CMAKE_SHARED_LINKER_FLAGS_DEBUG})
+set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${replace_CMAKE_SHARED_LINKER_FLAGS_DEBUG} /INCREMENTAL:NO")
+string(REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replace_CMAKE_EXE_LINKER_FLAGS_DEBUG ${CMAKE_EXE_LINKER_FLAGS_DEBUG})
+set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${replace_CMAKE_EXE_LINKER_FLAGS_DEBUG} /INCREMENTAL:NO")
+
+string(REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replace_CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO ${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO})
+set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "${replace_CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO} /INCREMENTAL:NO")
+string(REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replace_CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO})
+set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${replace_CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO} /INCREMENTAL:NO")

Modified: trunk/Source/cmake/OptionsWin.cmake (217206 => 217207)


--- trunk/Source/cmake/OptionsWin.cmake	2017-05-22 06:57:08 UTC (rev 217206)
+++ trunk/Source/cmake/OptionsWin.cmake	2017-05-22 07:15:21 UTC (rev 217207)
@@ -126,71 +126,7 @@
 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}")
 
 if (MSVC)
-    add_definitions(
-        /wd4018 /wd4068 /wd4099 /wd4100 /wd4127 /wd4138 /wd4146 /wd4180 /wd4189
-        /wd4201 /wd4206 /wd4244 /wd4251 /wd4267 /wd4275 /wd4288 /wd4291 /wd4305
-        /wd4309 /wd4344 /wd4355 /wd4389 /wd4396 /wd4456 /wd4457 /wd4458 /wd4459
-        /wd4481 /wd4503 /wd4505 /wd4510 /wd4512 /wd4530 /wd4610 /wd4611 /wd4646
-        /wd4702 /wd4706 /wd4722 /wd4800 /wd4819 /wd4951 /wd4952 /wd4996 /wd6011
-        /wd6031 /wd6211 /wd6246 /wd6255 /wd6387
-    )
-
-    # Create pdb files for debugging purposes, also for Release builds
-    add_compile_options(/Zi /GS)
-
-    set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /DEBUG /OPT:ICF /OPT:REF")
-    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /DEBUG /OPT:ICF /OPT:REF")
-
-    # We do not use exceptions
-    add_definitions(-D_HAS_EXCEPTIONS=0)
-    add_compile_options(/EHa- /EHc- /EHs- /fp:except-)
-
-    # We have some very large object files that have to be linked
-    add_compile_options(/analyze- /bigobj)
-
-    # Use CRT security features
-    add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1)
-
-    # Turn off certain link features
-    add_compile_options(/Gy- /openmp- /GF-)
-
-    if (${CMAKE_BUILD_TYPE} MATCHES "Debug")
-        set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /OPT:NOREF /OPT:NOICF")
-        set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /OPT:NOREF /OPT:NOICF")
-
-        # To debug linking time issues, uncomment the following three lines:
-        #add_compile_options(/Bv)
-        #set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /VERBOSE /VERBOSE:INCR /TIME")
-        #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /VERBOSE /VERBOSE:INCR /TIME")
-    elseif (${CMAKE_BUILD_TYPE} MATCHES "Release")
-        add_compile_options(/Oy-)
-    endif ()
-
-    if (NOT ${CMAKE_GENERATOR} MATCHES "Ninja")
-        link_directories("${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}")
-        add_definitions(/MP)
-    endif ()
-    if (NOT ${CMAKE_CXX_FLAGS} STREQUAL "")
-        string(REGEX REPLACE "(/EH[a-z]+) " "\\1- " CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) # Disable C++ exceptions
-        string(REGEX REPLACE "/EHsc$" "/EHs- /EHc- " CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) # Disable C++ exceptions
-        string(REGEX REPLACE "/GR " "/GR- " CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) # Disable RTTI
-        string(REGEX REPLACE "/W3" "/W4" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) # Warnings are important
-    endif ()
-
-    foreach (flag_var
-        CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
-        CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO
-        CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
-        CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
-        # Use the multithreaded static runtime library instead of the default DLL runtime.
-        string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
-
-        # No debug runtime, even in debug builds.
-        if (NOT DEBUG_SUFFIX)
-            string(REGEX REPLACE "/MTd" "/MT" ${flag_var} "${${flag_var}}")
-            string(REGEX REPLACE "/D_DEBUG" "" ${flag_var} "${${flag_var}}")
-        endif ()
-    endforeach ()
+    include(OptionsMSVC)
 endif ()
 
 set(PORT Win)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to