aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt22
-rw-r--r--cmake.deps/cmake/BuildLua.cmake6
-rw-r--r--cmake/FindLpeg.cmake9
-rw-r--r--cmake/FindLuajit.cmake2
-rw-r--r--cmake/FindLuv.cmake12
-rw-r--r--cmake/GenerateVersion.cmake1
-rw-r--r--cmake/WindowsDllCopy.cmake2
-rw-r--r--src/nvim/CMakeLists.txt5
8 files changed, 12 insertions, 47 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c91821d843..b3c366a915 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -173,23 +173,10 @@ foreach(CFGNAME ${CMAKE_CONFIGURATION_TYPES})
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFGNAME} ${CMAKE_BINARY_DIR}/lib)
endforeach()
-if(NOT LUA_PRG)
- foreach(CURRENT_LUA_PRG luajit lua5.1 lua5.2 lua)
- unset(_CHECK_LUA_PRG CACHE)
- find_program(_CHECK_LUA_PRG ${CURRENT_LUA_PRG})
-
- if(_CHECK_LUA_PRG)
- set(LUA_PRG "${_CHECK_LUA_PRG}" CACHE FILEPATH "Path to a program.")
- break()
- endif()
- endforeach()
- unset(_CHECK_LUA_PRG CACHE)
-endif()
-
+find_program(LUA_PRG NAMES luajit lua5.1 lua5.2 lua)
if(NOT LUA_PRG)
message(FATAL_ERROR "Failed to find a Lua 5.1-compatible interpreter")
endif()
-
message(STATUS "Using Lua interpreter: ${LUA_PRG}")
# Some of the code generation still relies on stable table ordering in order to
@@ -200,11 +187,9 @@ message(STATUS "Using Lua interpreter: ${LUA_PRG}")
if(NOT LUA_GEN_PRG)
set(LUA_GEN_PRG "${LUA_PRG}" CACHE FILEPATH "Path to the lua used for code generation.")
endif()
-
message(STATUS "Using Lua interpreter for code generation: ${LUA_GEN_PRG}")
option(COMPILE_LUA "Pre-compile Lua sources into bytecode (for sources that are included in the binary)" ON)
-
if(COMPILE_LUA AND NOT WIN32)
if(PREFER_LUA)
foreach(CURRENT_LUAC_PRG luac5.1 luac)
@@ -221,14 +206,11 @@ if(COMPILE_LUA AND NOT WIN32)
endif()
endif()
endif()
-
if(LUAC_PRG)
message(STATUS "Using Lua compiler: ${LUAC_PRG}")
endif()
-#
# Lint
-#
option(CI_LINT "Abort if lint programs not found" OFF)
if(CI_LINT)
set(LINT_REQUIRED "REQUIRED")
@@ -277,9 +259,7 @@ add_dependencies(lintcommit nvim)
add_custom_target(lint)
add_dependencies(lint clang-tidy lintc lintlua lintsh lintcommit)
-#
# Format
-#
add_custom_target(formatlua
COMMAND ${CMAKE_COMMAND}
-D FORMAT_PRG=${STYLUA_PRG}
diff --git a/cmake.deps/cmake/BuildLua.cmake b/cmake.deps/cmake/BuildLua.cmake
index 24da331867..af787ed795 100644
--- a/cmake.deps/cmake/BuildLua.cmake
+++ b/cmake.deps/cmake/BuildLua.cmake
@@ -5,9 +5,9 @@ elseif(APPLE)
elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
set(LUA_TARGET freebsd)
elseif(CMAKE_SYSTEM_NAME MATCHES "BSD")
- set(CMAKE_LUA_TARGET bsd)
+ set(LUA_TARGET bsd)
elseif(CMAKE_SYSTEM_NAME MATCHES "^MINGW")
- set(CMAKE_LUA_TARGET mingw)
+ set(LUA_TARGET mingw)
else()
if(UNIX)
set(LUA_TARGET posix)
@@ -16,7 +16,7 @@ else()
endif()
endif()
-set(LUA_CFLAGS "-O0 -g3 -fPIC")
+set(LUA_CFLAGS "-O2 -g3 -fPIC")
set(LUA_LDFLAGS "")
if(ENABLE_ASAN_UBSAN)
diff --git a/cmake/FindLpeg.cmake b/cmake/FindLpeg.cmake
index 4354f815b5..43c839da9a 100644
--- a/cmake/FindLpeg.cmake
+++ b/cmake/FindLpeg.cmake
@@ -1,11 +1,4 @@
-find_library(LPEG_LIBRARY NAMES lpeg_a lpeg liblpeg_a)
-
-# Ubuntu-specific workaround to find system paths
-function(ubuntu)
- set(CMAKE_FIND_LIBRARY_PREFIXES "")
- find_library(LPEG_LIBRARY NAMES lpeg PATH_SUFFIXES lua/5.1)
-endfunction()
-ubuntu()
+find_library(LPEG_LIBRARY NAMES lpeg_a lpeg liblpeg_a lpeg${CMAKE_SHARED_LIBRARY_SUFFIX} PATH_SUFFIXES lua/5.1)
find_package_handle_standard_args(Lpeg DEFAULT_MSG LPEG_LIBRARY)
mark_as_advanced(LPEG_LIBRARY)
diff --git a/cmake/FindLuajit.cmake b/cmake/FindLuajit.cmake
index 711c2c0c09..f06b7ca6ad 100644
--- a/cmake/FindLuajit.cmake
+++ b/cmake/FindLuajit.cmake
@@ -1,5 +1,5 @@
find_path(LUAJIT_INCLUDE_DIR luajit.h
- PATH_SUFFIXES luajit-2.0 luajit-2.1)
+ PATH_SUFFIXES luajit-2.1)
if(MSVC)
list(APPEND LUAJIT_NAMES lua51)
diff --git a/cmake/FindLuv.cmake b/cmake/FindLuv.cmake
index ebd74887ed..7544859ceb 100644
--- a/cmake/FindLuv.cmake
+++ b/cmake/FindLuv.cmake
@@ -1,13 +1,5 @@
-find_path(LUV_INCLUDE_DIR luv/luv.h)
-find_library(LUV_LIBRARY NAMES luv_a luv libluv_a)
-
-# Ubuntu-specific workaround to find system paths
-function(ubuntu)
- set(CMAKE_FIND_LIBRARY_PREFIXES "")
- find_path(LUV_INCLUDE_DIR luv/luv.h PATH_SUFFIXES lua5.1)
- find_library(LUV_LIBRARY NAMES luv PATH_SUFFIXES lua/5.1)
-endfunction()
-ubuntu()
+find_path(LUV_INCLUDE_DIR luv/luv.h PATH_SUFFIXES lua5.1)
+find_library(LUV_LIBRARY NAMES luv_a luv libluv_a luv${CMAKE_SHARED_LIBRARY_SUFFIX} PATH_SUFFIXES lua/5.1)
find_package_handle_standard_args(Luv DEFAULT_MSG
LUV_LIBRARY LUV_INCLUDE_DIR)
diff --git a/cmake/GenerateVersion.cmake b/cmake/GenerateVersion.cmake
index 0758dad8ad..a52dca970f 100644
--- a/cmake/GenerateVersion.cmake
+++ b/cmake/GenerateVersion.cmake
@@ -7,7 +7,6 @@ execute_process(
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET
RESULT_VARIABLE RES)
-
if(RES)
message(STATUS "Using NVIM_VERSION: ${NVIM_VERSION}")
file(WRITE "${OUTPUT}" "")
diff --git a/cmake/WindowsDllCopy.cmake b/cmake/WindowsDllCopy.cmake
index b51e66e5cc..c972d88f57 100644
--- a/cmake/WindowsDllCopy.cmake
+++ b/cmake/WindowsDllCopy.cmake
@@ -23,7 +23,7 @@ foreach(DLL_NAME ${DLLS})
message(FATAL_ERROR "Unable to find dependency ${DLL_NAME}")
endif()
- if($ENV{CI} MATCHES "true")
+ if(CI_BUILD)
message("Copying ${DLL_NAME} to ${DST}")
endif()
execute_process(COMMAND ${CMAKE_COMMAND} -E copy ${DLL_PATH} ${DST})
diff --git a/src/nvim/CMakeLists.txt b/src/nvim/CMakeLists.txt
index 7436e21d69..535058bd7d 100644
--- a/src/nvim/CMakeLists.txt
+++ b/src/nvim/CMakeLists.txt
@@ -2,7 +2,7 @@ add_library(main_lib INTERFACE)
add_executable(nvim main.c)
add_library(libuv INTERFACE)
-find_package(libuv CONFIG)
+find_package(libuv CONFIG QUIET)
if(TARGET libuv::uv_a)
target_link_libraries(libuv INTERFACE libuv::uv_a)
mark_as_advanced(libuv_DIR)
@@ -392,7 +392,7 @@ else()
endif()
# Log level (NVIM_LOG_DEBUG in log.h)
-if($ENV{CI})
+if(CI_BUILD)
# Don't debug log on CI, it gets too verbose in the main build log.
# TODO(bfredl): debug log level also exposes some errors with EXITFREE in ASAN build.
else()
@@ -703,6 +703,7 @@ if(WIN32)
-D CMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}
-D BINARY="${PROJECT_BINARY_DIR}/bin/nvim${CMAKE_EXECUTABLE_SUFFIX}"
-D DST=${PROJECT_BINARY_DIR}/windows_runtime_deps
+ -D CI_BUILD=${CI_BUILD}
-P ${PROJECT_SOURCE_DIR}/cmake/WindowsDllCopy.cmake)
add_dependencies(nvim_runtime_deps nvim_dll_deps)