diff options
-rw-r--r-- | CMakeLists.txt | 12 | ||||
-rw-r--r-- | src/nvim/CMakeLists.txt | 6 |
2 files changed, 14 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 3334f14cca..3b5875e599 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -68,7 +68,9 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON) string(REPLACE "-O3" "-O2" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") # Enable -Wconversion. -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wconversion") +if(NOT MSVC) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wconversion") +endif() # gcc 4.0 and better turn on _FORTIFY_SOURCE=2 automatically. This currently # does not work with Neovim due to some uses of dynamically-sized structures. @@ -110,8 +112,14 @@ if(NOT HAS_ACCEPTABLE_FORTIFY) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${_FORTIFY_SOURCE_PREFIX}-U_FORTIFY_SOURCE ${_FORTIFY_SOURCE_PREFIX}-D_FORTIFY_SOURCE=1") endif() -add_definitions(-Wall -Wextra -pedantic -Wno-unused-parameter +if(MSVC) + # XXX: /W4 gives too many warnings. #3241 + add_definitions(/W3 -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE) +else() + add_definitions(-Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99) +endif() + if(MINGW) # Use POSIX compatible stdio in Mingw add_definitions(-D__USE_MINGW_ANSI_STDIO) diff --git a/src/nvim/CMakeLists.txt b/src/nvim/CMakeLists.txt index 6e6a890cd1..5e547ed290 100644 --- a/src/nvim/CMakeLists.txt +++ b/src/nvim/CMakeLists.txt @@ -101,8 +101,10 @@ foreach(sfile ${CONV_SOURCES}) endif() endforeach() -set_source_files_properties( - ${CONV_SOURCES} PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -Wno-conversion") +if(NOT MSVC) + set_source_files_properties( + ${CONV_SOURCES} PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -Wno-conversion") +endif() get_directory_property(gen_cdefs COMPILE_DEFINITIONS) foreach(gen_cdef ${gen_cdefs} DO_NOT_DEFINE_EMPTY_ATTRIBUTES) |