diff options
-rw-r--r-- | CMakeLists.txt | 7 | ||||
-rw-r--r-- | src/nvim/CMakeLists.txt | 74 |
2 files changed, 59 insertions, 22 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index f7ecf10816..0241b0502c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ -cmake_minimum_required (VERSION 2.8.7) -project (NEOVIM) +cmake_minimum_required(VERSION 2.8.7) +project(NEOVIM) # Point CMake at any custom modules we may ship list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") @@ -67,6 +67,9 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON) # Default to -O2 on release builds. string(REPLACE "-O3" "-O2" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") +# Enable -Wconversion. +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wconversion") + # 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. # See https://github.com/neovim/neovim/issues/223 for details. diff --git a/src/nvim/CMakeLists.txt b/src/nvim/CMakeLists.txt index b06b4fa547..e3e3c05cfb 100644 --- a/src/nvim/CMakeLists.txt +++ b/src/nvim/CMakeLists.txt @@ -38,34 +38,68 @@ endforeach() list(REMOVE_ITEM NEOVIM_SOURCES ${to_remove}) +# Handle legacy files that don't yet pass -Wconversion. set(CONV_SOURCES - arabic.c - cursor.c - garray.c - hashtab.c - log.c - map.c - memfile.c - memory.c - misc2.c - profile.c - tempfile.c - ) + buffer.c + charset.c + cursor_shape.c + diff.c + digraph.c + edit.c + eval.c + ex_cmds2.c + ex_cmds.c + ex_docmd.c + ex_eval.c + ex_getln.c + farsi.c + fileio.c + file_search.c + fold.c + getchar.c + hardcopy.c + if_cscope.c + indent.c + indent_c.c + keymap.c + main.c + mark.c + mbyte.c + memline.c + menu.c + message.c + misc1.c + move.c + normal.c + ops.c + option.c + os_unix.c + path.c + popupmnu.c + quickfix.c + regexp.c + regexp_nfa.c + screen.c + search.c + sha256.c + spell.c + strings.c + syntax.c + tag.c + term.c + ui.c + undo.c + version.c + window.c) foreach(sfile ${CONV_SOURCES}) if(NOT EXISTS "${PROJECT_SOURCE_DIR}/src/nvim/${sfile}") - message(FATAL_ERROR "${sfile} doesn't exist(it was added to CONV_SOURCES)") + message(FATAL_ERROR "${sfile} doesn't exist (it was added to CONV_SOURCES)") endif() endforeach() -file(GLOB_RECURSE EXTRA_CONV_SOURCES os/*.c api/*.c msgpack_rpc/*.c) -foreach(sfile ${EXTRA_CONV_SOURCES}) - file(RELATIVE_PATH f "${PROJECT_SOURCE_DIR}/src/nvim" "${sfile}") - list(APPEND CONV_SOURCES ${f}) -endforeach() - set_source_files_properties( - ${CONV_SOURCES} PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -Wconversion") + ${CONV_SOURCES} PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -Wno-conversion") if(CMAKE_C_COMPILER_ID MATCHES "Clang") if(DEFINED ENV{SANITIZE}) |