]> granicus.if.org Git - curl/commitdiff
CMake: set MSVC warning level to 4
authorMarcel Raad <Marcel.Raad@teamviewer.com>
Tue, 18 Jul 2017 16:46:53 +0000 (18:46 +0200)
committerMarcel Raad <Marcel.Raad@teamviewer.com>
Thu, 3 Aug 2017 06:39:23 +0000 (08:39 +0200)
The MSVC warning level defaults to 3 in CMake. Change it to 4, which is
consistent with the Visual Studio and NMake builds. Disable level 4
warning C4127 for the library and additionally C4306 for the test
servers to get a clean CURL_WERROR build as that warning is raised in
some macros in older Visual Studio versions.

Ref: https://github.com/curl/curl/pull/1667#issuecomment-314082794
Closes https://github.com/curl/curl/pull/1711

CMakeLists.txt
lib/CMakeLists.txt
tests/server/CMakeLists.txt

index f21d89e8fdcf962855c7f81e856eba18cec82bd3..171941128f7fa61b6d67eb6105d85268ed5f2ff5 100644 (file)
@@ -1161,6 +1161,11 @@ endif(WIN32)
 
 if(MSVC)
   add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE)
+  if(CMAKE_C_FLAGS MATCHES "/W[0-4]")
+    string(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
+  else(CMAKE_C_FLAGS MATCHES "/W[0-4]")
+    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4")
+  endif(CMAKE_C_FLAGS MATCHES "/W[0-4]")
 endif(MSVC)
 
 # Ugly (but functional) way to include "Makefile.inc" by transforming it (= regenerate it).
index 667754480205a42baedfbcde9aba503deb9d9436..d6c996189f25fdc4e6046f0f9ab6ad3ea0cb91c7 100644 (file)
@@ -12,6 +12,7 @@ list(APPEND HHEADERS
 
 if(MSVC)
   list(APPEND CSOURCES libcurl.rc)
+  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4127")
 endif()
 
 # SET(CSOURCES
index e456a94dfde427761845b150614484d430b32712..cfc1434cd7ba674bf7d25329ac499c78b685349c 100644 (file)
@@ -1,5 +1,9 @@
 set(TARGET_LABEL_PREFIX "Test server ")
 
+if(MSVC)
+  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4127 /wd4306")
+endif()
+
 function(SETUP_EXECUTABLE TEST_NAME)    # ARGN are the files in the test
   add_executable( ${TEST_NAME} ${ARGN} )
   string(TOUPPER ${TEST_NAME} UPPER_TEST_NAME)