diff options
| -rw-r--r-- | CMakeLists.txt | 62 | ||||
| -rw-r--r-- | runtime/CMakeLists.txt | 6 | ||||
| -rw-r--r-- | src/nvim/CMakeLists.txt | 6 | ||||
| -rw-r--r-- | third-party/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | third-party/cmake/GettextCMakeLists.txt | 2 | ||||
| -rw-r--r-- | third-party/cmake/GperfCMakeLists.txt | 2 | ||||
| -rw-r--r-- | third-party/cmake/LibiconvCMakeLists.txt | 2 | ||||
| -rw-r--r-- | third-party/cmake/LibuvCMakeLists.txt | 2 | ||||
| -rw-r--r-- | third-party/cmake/Libvterm-tbl2inc_c.cmake | 2 | ||||
| -rw-r--r-- | third-party/cmake/LibvtermCMakeLists.txt | 2 | ||||
| -rw-r--r-- | third-party/cmake/UnibiliumCMakeLists.txt | 2 | ||||
| -rw-r--r-- | third-party/cmake/libtermkeyCMakeLists.txt | 2 | 
12 files changed, 32 insertions, 60 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 2100c53ad2..a697480fba 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,8 +2,8 @@  #   intro: https://codingnest.com/basic-cmake/  #   best practices (3.0+): https://gist.github.com/mbinna/c61dbb39bca0e4fb7d1f73b0d66a4fd1 -cmake_minimum_required(VERSION 2.8.7) -project(nvim) +cmake_minimum_required(VERSION 2.8.12) +project(nvim C)  if(POLICY CMP0059)    cmake_policy(SET CMP0059 OLD)  # Needed until cmake 2.8.12. #4389 @@ -47,9 +47,6 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")    if(CMAKE_COMPILER_IS_GNUCC)      set(CMAKE_INCLUDE_SYSTEM_FLAG_C "-isystem ")    endif() -  if(CMAKE_COMPILER_IS_GNUCXX) -    set(CMAKE_INCLUDE_SYSTEM_FLAG_CXX "-isystem ") -  endif()  endif()  if(WIN32 OR CMAKE_SYSTEM_NAME STREQUAL "Darwin") @@ -181,7 +178,6 @@ if(NOT HAS_ACCEPTABLE_FORTIFY)    # -U in add_definitions doesn't end up in the correct spot, so we add it to    # the flags variable instead.    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_FORTIFY_SOURCE_PREFIX}-U_FORTIFY_SOURCE ${_FORTIFY_SOURCE_PREFIX}-D_FORTIFY_SOURCE=1") -  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${_FORTIFY_SOURCE_PREFIX}-U_FORTIFY_SOURCE ${_FORTIFY_SOURCE_PREFIX}-D_FORTIFY_SOURCE=1")  endif()  # Remove --sort-common from linker flags, as this seems to cause bugs (see #2641, #3374). @@ -264,7 +260,7 @@ if(HAS_DIAG_COLOR_FLAG)    add_definitions(-fdiagnostics-color=auto)  endif() -if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") +if(CMAKE_C_COMPILER_ID STREQUAL "GNU")    # 1. Array-bounds testing is broken in some GCC versions before 4.8.5.    #    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56273    # 2. But _Pragma("...ignored") is broken (unresolved) in GCC 5+: @@ -297,10 +293,14 @@ option(LOG_LIST_ACTIONS "Add list actions logging" OFF)  add_definitions(-DINCLUDE_GENERATED_DECLARATIONS) -if(CMAKE_SYSTEM_NAME STREQUAL "Linux") -  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--no-undefined") -  set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined") -  set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined") +if(CMAKE_C_COMPILER_ID STREQUAL "GNU" OR CMAKE_C_COMPILER_ID STREQUAL "Clang") +  if(CMAKE_SYSTEM_NAME STREQUAL "SunOS") +    set(NO_UNDEFINED "-Wl,--no-undefined -lsocket") +  elseif(NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin") +    set(NO_UNDEFINED "-Wl,--no-undefined") +  endif() +  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${NO_UNDEFINED}") +  set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${NO_UNDEFINED}")    # For O_CLOEXEC, O_DIRECTORY, and O_NOFOLLOW flags on older systems    # (pre POSIX.1-2008: glibc 2.11 and earlier). #4042 @@ -308,10 +308,6 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")    add_definitions(-D_GNU_SOURCE)  endif() -if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_SYSTEM_NAME STREQUAL "SunOS") -  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--no-undefined -lsocket") -endif() -  if(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SIZEOF_VOID_P EQUAL 8)    # Required for luajit.    set(CMAKE_EXE_LINKER_FLAGS @@ -357,7 +353,7 @@ main(void)  }  " MSGPACK_HAS_FLOAT32)  if(MSGPACK_HAS_FLOAT32) -  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DNVIM_MSGPACK_HAS_FLOAT32") +  add_definitions(-DNVIM_MSGPACK_HAS_FLOAT32)  endif()  option(FEAT_TUI "Enable the Terminal UI" ON) @@ -378,7 +374,7 @@ if(FEAT_TUI)    }    " UNIBI_HAS_VAR_FROM)    if(UNIBI_HAS_VAR_FROM) -    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DNVIM_UNIBI_HAS_VAR_FROM") +    add_definitions(-DNVIM_UNIBI_HAS_VAR_FROM)    endif()    find_package(LibTermkey REQUIRED) @@ -573,31 +569,17 @@ if(BUSTED_PRG)      message(WARNING "disabling unit tests: no Luajit FFI in ${LUA_PRG}")    endif() -  if(${CMAKE_VERSION} VERSION_LESS 2.8.12) -    if(CMAKE_GENERATOR MATCHES "Visual Studio") -      set(TEST_LIBNVIM_PATH ${CMAKE_BINARY_DIR}/lib/nvim-test.dll) -    else() -      get_target_property(TEST_LIBNVIM_PATH nvim-test LOCATION) -    endif() -    configure_file( -      ${CMAKE_SOURCE_DIR}/test/config/paths.lua.in -      ${CMAKE_BINARY_DIR}/test/config/paths.lua) +  if(LUA_HAS_FFI) +    set(TEST_LIBNVIM_PATH $<TARGET_FILE:nvim-test>)    else() -    # To avoid duplicating paths.lua.in while we still support CMake < 2.8.12, -    # use configure_file() to add the generator expression and then generate -    # the final file -    if(LUA_HAS_FFI) -      set(TEST_LIBNVIM_PATH $<TARGET_FILE:nvim-test>) -    else() -      set(TEST_LIBNVIM_PATH "") -    endif() -    configure_file( -      ${CMAKE_SOURCE_DIR}/test/config/paths.lua.in -      ${CMAKE_BINARY_DIR}/test/config/paths.lua.gen) -    file(GENERATE -      OUTPUT ${CMAKE_BINARY_DIR}/test/config/paths.lua -      INPUT ${CMAKE_BINARY_DIR}/test/config/paths.lua.gen) +    set(TEST_LIBNVIM_PATH "")    endif() +  configure_file( +    ${CMAKE_SOURCE_DIR}/test/config/paths.lua.in +    ${CMAKE_BINARY_DIR}/test/config/paths.lua.gen) +  file(GENERATE +    OUTPUT ${CMAKE_BINARY_DIR}/test/config/paths.lua +    INPUT ${CMAKE_BINARY_DIR}/test/config/paths.lua.gen)    add_custom_target(functionaltest      COMMAND ${CMAKE_COMMAND} diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt index 0ae7c231af..70e4ca2eec 100644 --- a/runtime/CMakeLists.txt +++ b/runtime/CMakeLists.txt @@ -21,17 +21,13 @@ add_custom_command(OUTPUT ${GENERATED_SYN_VIM}      ${FUNCS_DATA}  ) -if(POLICY CMP0054) -  cmake_policy(SET CMP0054 OLD) -endif() -  file(GLOB PACKAGES ${PROJECT_SOURCE_DIR}/runtime/pack/dist/opt/*)  set(GENERATED_PACKAGE_TAGS)  foreach(PACKAGE ${PACKAGES})    get_filename_component(PACKNAME ${PACKAGE} NAME)    file(GLOB "${PACKNAME}_DOC_FILES" ${PACKAGE}/doc/*.txt) -  if("${PACKNAME}_DOC_FILES") +  if(${PACKNAME}_DOC_FILES)      file(MAKE_DIRECTORY ${GENERATED_PACKAGE_DIR}/${PACKNAME})      add_custom_target("${PACKNAME}-tags"        COMMAND ${CMAKE_COMMAND} -E copy_directory diff --git a/src/nvim/CMakeLists.txt b/src/nvim/CMakeLists.txt index bdedce8076..825ebc29cf 100644 --- a/src/nvim/CMakeLists.txt +++ b/src/nvim/CMakeLists.txt @@ -394,12 +394,6 @@ endif()  set(NVIM_EXEC_LINK_LIBRARIES ${NVIM_LINK_LIBRARIES} ${LUA_PREFERRED_LIBRARIES}) -if(CMAKE_VERSION VERSION_LESS "2.8.8") -  # Use include_directories() because INCLUDE_DIRECTORIES target property -  # is not supported -  include_directories(${LUA_PREFERRED_INCLUDE_DIRS}) -endif() -  # Don't use jemalloc in the unit test library.  if(JEMALLOC_FOUND)    list(APPEND NVIM_EXEC_LINK_LIBRARIES ${JEMALLOC_LIBRARIES}) diff --git a/third-party/CMakeLists.txt b/third-party/CMakeLists.txt index 8aae8ea9e4..cf49a67f60 100644 --- a/third-party/CMakeLists.txt +++ b/third-party/CMakeLists.txt @@ -1,5 +1,5 @@  # This is not meant to be included by the top-level. -cmake_minimum_required (VERSION 2.8.7) +cmake_minimum_required (VERSION 2.8.12)  project(NVIM_DEPS)  # Needed for: check_c_compiler_flag() diff --git a/third-party/cmake/GettextCMakeLists.txt b/third-party/cmake/GettextCMakeLists.txt index 67ec0d113f..5a6253df3b 100644 --- a/third-party/cmake/GettextCMakeLists.txt +++ b/third-party/cmake/GettextCMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.7) +cmake_minimum_required(VERSION 2.8.12)  project(gettext C)  # Adds PREFIX to each item in LIST diff --git a/third-party/cmake/GperfCMakeLists.txt b/third-party/cmake/GperfCMakeLists.txt index 32837fc166..15ae305ba8 100644 --- a/third-party/cmake/GperfCMakeLists.txt +++ b/third-party/cmake/GperfCMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.7) +cmake_minimum_required(VERSION 2.8.12)  project(gperf LANGUAGES C CXX)  add_executable(gperf diff --git a/third-party/cmake/LibiconvCMakeLists.txt b/third-party/cmake/LibiconvCMakeLists.txt index d14b8529d4..8ad3cc9352 100644 --- a/third-party/cmake/LibiconvCMakeLists.txt +++ b/third-party/cmake/LibiconvCMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.7) +cmake_minimum_required(VERSION 2.8.12)  project(libiconv C)  include_directories( diff --git a/third-party/cmake/LibuvCMakeLists.txt b/third-party/cmake/LibuvCMakeLists.txt index 8b51a101c6..c9b7c56e7b 100644 --- a/third-party/cmake/LibuvCMakeLists.txt +++ b/third-party/cmake/LibuvCMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.7) +cmake_minimum_required(VERSION 2.8.12)  project(libuv LANGUAGES C)  file(GLOB UV_SOURCES_COMMON src/*.c) diff --git a/third-party/cmake/Libvterm-tbl2inc_c.cmake b/third-party/cmake/Libvterm-tbl2inc_c.cmake index b1ee0246f1..7a82f4248b 100644 --- a/third-party/cmake/Libvterm-tbl2inc_c.cmake +++ b/third-party/cmake/Libvterm-tbl2inc_c.cmake @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.7) +cmake_minimum_required(VERSION 2.8.12)  set(HEX_ALPHABET "0123456789abcdef") diff --git a/third-party/cmake/LibvtermCMakeLists.txt b/third-party/cmake/LibvtermCMakeLists.txt index 27d0d11e9f..dad3ef62c2 100644 --- a/third-party/cmake/LibvtermCMakeLists.txt +++ b/third-party/cmake/LibvtermCMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.11) +cmake_minimum_required(VERSION 2.8.12)  project(libvterm LANGUAGES C)  include(GNUInstallDirs) diff --git a/third-party/cmake/UnibiliumCMakeLists.txt b/third-party/cmake/UnibiliumCMakeLists.txt index 49bc12c6b7..a96482bcbb 100644 --- a/third-party/cmake/UnibiliumCMakeLists.txt +++ b/third-party/cmake/UnibiliumCMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.7) +cmake_minimum_required(VERSION 2.8.12)  project(unibilium LANGUAGES C)  file(GLOB SRC_FILES ${PROJECT_SOURCE_DIR}/*.c) diff --git a/third-party/cmake/libtermkeyCMakeLists.txt b/third-party/cmake/libtermkeyCMakeLists.txt index cb57631c1c..c55da7929a 100644 --- a/third-party/cmake/libtermkeyCMakeLists.txt +++ b/third-party/cmake/libtermkeyCMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.7) +cmake_minimum_required(VERSION 2.8.12)  project(libtermkey)  add_definitions(-D _CRT_SECURE_NO_WARNINGS)  | 
