Skip to content

Commit

Permalink
CMake: set MSVC warning level to 4
Browse files Browse the repository at this point in the history
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: curl#1667 (comment)
Closes curl#1711
  • Loading branch information
MarcelRaad committed Aug 3, 2017
1 parent 7093488 commit 866e029
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 0 deletions.
5 changes: 5 additions & 0 deletions CMakeLists.txt
Expand Up @@ -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).
Expand Down
1 change: 1 addition & 0 deletions lib/CMakeLists.txt
Expand Up @@ -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
Expand Down
4 changes: 4 additions & 0 deletions tests/server/CMakeLists.txt
@@ -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)
Expand Down

0 comments on commit 866e029

Please sign in to comment.