diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2015-08-27 22:00:09 -0400 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2015-08-27 22:00:34 -0400 |
commit | f15b864239e666b87e2c6a9beb0fa3cf6ac97c67 (patch) | |
tree | 8585cb117dd7315e179207b7f6d01a25b01c0946 | |
parent | b9d17c6a8a6485bc7a33cabbfafb9c60741e6943 (diff) | |
download | rneovim-f15b864239e666b87e2c6a9beb0fa3cf6ac97c67.tar.gz rneovim-f15b864239e666b87e2c6a9beb0fa3cf6ac97c67.tar.bz2 rneovim-f15b864239e666b87e2c6a9beb0fa3cf6ac97c67.zip |
MSVC: use MSVC instead of GCC-like compiler flags.
- We can build with /W4, but it gives thousands of warnings.
- _CRT_NONSTDC_NO_DEPRECATE disables warnings about POSIX functions.
https://msdn.microsoft.com/en-us/library/ms235384.aspx
- _CRT_SECURE_NO_WARNINGS
https://msdn.microsoft.com/en-us/library/8ef0s5kh.aspx
-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) |