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