mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
build: various build improvements
- remove "ran-" prefix from touch files as it's redundant since the they're already in the directory named `touches`. - Include `contrib` when formatting with `make formatlua`. - Use TARGET_FILE generator expression instead of assuming the executable location. - reuse logic that determines whether to use lua or luajit. - add translations to the `nvim` target. Makefile improvements: - rename variable `CMAKE_PRG` to `CMAKE` to make it more consistent with the builtin `MAKE` variable. - stop propagating flags to generator. Users should use cmake for non-standard use cases. - remove `+` prefix from targets. If the user for whatever reason wants to dry-run a target then they should be able to.
This commit is contained in:
parent
32849d5667
commit
ae3eed53d6
@ -228,7 +228,7 @@ endif()
|
|||||||
find_program(SHELLCHECK_PRG shellcheck ${LINT_REQUIRED})
|
find_program(SHELLCHECK_PRG shellcheck ${LINT_REQUIRED})
|
||||||
find_program(STYLUA_PRG stylua ${LINT_REQUIRED})
|
find_program(STYLUA_PRG stylua ${LINT_REQUIRED})
|
||||||
|
|
||||||
set(STYLUA_DIRS runtime scripts src test)
|
set(STYLUA_DIRS runtime scripts src test contrib)
|
||||||
|
|
||||||
add_glob_target(
|
add_glob_target(
|
||||||
TARGET lintlua-luacheck
|
TARGET lintlua-luacheck
|
||||||
|
52
Makefile
52
Makefile
@ -9,7 +9,7 @@ filter-true = $(strip $(filter-out 1 on ON true TRUE,$1))
|
|||||||
|
|
||||||
all: nvim
|
all: nvim
|
||||||
|
|
||||||
CMAKE_PRG ?= $(shell (command -v cmake3 || echo cmake))
|
CMAKE ?= $(shell (command -v cmake3 || echo cmake))
|
||||||
CMAKE_BUILD_TYPE ?= Debug
|
CMAKE_BUILD_TYPE ?= Debug
|
||||||
CMAKE_FLAGS := -DCMAKE_BUILD_TYPE=$(CMAKE_BUILD_TYPE)
|
CMAKE_FLAGS := -DCMAKE_BUILD_TYPE=$(CMAKE_BUILD_TYPE)
|
||||||
# Extra CMake flags which extend the default set
|
# Extra CMake flags which extend the default set
|
||||||
@ -28,7 +28,7 @@ override CMAKE_EXTRA_FLAGS += -DCMAKE_INSTALL_PREFIX=$(CMAKE_INSTALL_PREFIX)
|
|||||||
|
|
||||||
checkprefix:
|
checkprefix:
|
||||||
@if [ -f build/.ran-cmake ]; then \
|
@if [ -f build/.ran-cmake ]; then \
|
||||||
cached_prefix=$(shell $(CMAKE_PRG) -L -N build | 2>/dev/null grep 'CMAKE_INSTALL_PREFIX' | cut -d '=' -f2); \
|
cached_prefix=$(shell $(CMAKE) -L -N build | 2>/dev/null grep 'CMAKE_INSTALL_PREFIX' | cut -d '=' -f2); \
|
||||||
if ! [ "$(CMAKE_INSTALL_PREFIX)" = "$$cached_prefix" ]; then \
|
if ! [ "$(CMAKE_INSTALL_PREFIX)" = "$$cached_prefix" ]; then \
|
||||||
printf "Re-running CMake: CMAKE_INSTALL_PREFIX '$(CMAKE_INSTALL_PREFIX)' does not match cached value '%s'.\n" "$$cached_prefix"; \
|
printf "Re-running CMake: CMAKE_INSTALL_PREFIX '$(CMAKE_INSTALL_PREFIX)' does not match cached value '%s'.\n" "$$cached_prefix"; \
|
||||||
$(RM) build/.ran-cmake; \
|
$(RM) build/.ran-cmake; \
|
||||||
@ -53,17 +53,6 @@ ifeq (,$(BUILD_TOOL))
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Only need to handle Ninja here. Make will inherit the VERBOSE variable, and the -j, -l, and -n flags.
|
|
||||||
ifeq ($(CMAKE_GENERATOR),Ninja)
|
|
||||||
ifneq ($(VERBOSE),)
|
|
||||||
BUILD_TOOL += -v
|
|
||||||
endif
|
|
||||||
BUILD_TOOL += $(shell printf '%s' '$(MAKEFLAGS)' | grep -o -- ' *-[jl][0-9]\+ *')
|
|
||||||
ifeq (n,$(findstring n,$(firstword -$(MAKEFLAGS))))
|
|
||||||
BUILD_TOOL += -n
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
DEPS_CMAKE_FLAGS ?=
|
DEPS_CMAKE_FLAGS ?=
|
||||||
USE_BUNDLED ?=
|
USE_BUNDLED ?=
|
||||||
|
|
||||||
@ -81,49 +70,48 @@ endif
|
|||||||
SINGLE_MAKE = export MAKEFLAGS= ; $(MAKE)
|
SINGLE_MAKE = export MAKEFLAGS= ; $(MAKE)
|
||||||
|
|
||||||
nvim: build/.ran-cmake deps
|
nvim: build/.ran-cmake deps
|
||||||
+$(BUILD_TOOL) -C build
|
$(BUILD_TOOL) -C build
|
||||||
|
|
||||||
libnvim: build/.ran-cmake deps
|
libnvim: build/.ran-cmake deps
|
||||||
+$(BUILD_TOOL) -C build libnvim
|
$(BUILD_TOOL) -C build libnvim
|
||||||
|
|
||||||
cmake:
|
cmake:
|
||||||
touch CMakeLists.txt
|
touch CMakeLists.txt
|
||||||
$(MAKE) build/.ran-cmake
|
$(MAKE) build/.ran-cmake
|
||||||
|
|
||||||
build/.ran-cmake: | deps
|
build/.ran-cmake: | deps
|
||||||
cd build && $(CMAKE_PRG) -G '$(CMAKE_GENERATOR)' $(CMAKE_FLAGS) $(CMAKE_EXTRA_FLAGS) $(MAKEFILE_DIR)
|
$(CMAKE) -B build -G '$(CMAKE_GENERATOR)' $(CMAKE_FLAGS) $(CMAKE_EXTRA_FLAGS) $(MAKEFILE_DIR)
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
deps: | build/.ran-deps-cmake
|
deps: | build/.ran-deps-cmake
|
||||||
ifeq ($(call filter-true,$(USE_BUNDLED)),)
|
ifeq ($(call filter-true,$(USE_BUNDLED)),)
|
||||||
+$(BUILD_TOOL) -C $(DEPS_BUILD_DIR)
|
$(BUILD_TOOL) -C $(DEPS_BUILD_DIR)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(call filter-true,$(USE_BUNDLED)),)
|
ifeq ($(call filter-true,$(USE_BUNDLED)),)
|
||||||
$(DEPS_BUILD_DIR):
|
$(DEPS_BUILD_DIR):
|
||||||
mkdir -p "$@"
|
mkdir -p "$@"
|
||||||
build/.ran-deps-cmake:: $(DEPS_BUILD_DIR)
|
build/.ran-deps-cmake:: $(DEPS_BUILD_DIR)
|
||||||
cd $(DEPS_BUILD_DIR) && \
|
$(CMAKE) -S $(MAKEFILE_DIR)/cmake.deps -B $(DEPS_BUILD_DIR) -G '$(CMAKE_GENERATOR)' \
|
||||||
$(CMAKE_PRG) -G '$(CMAKE_GENERATOR)' $(BUNDLED_CMAKE_FLAG) $(BUNDLED_LUA_CMAKE_FLAG) \
|
$(BUNDLED_CMAKE_FLAG) $(BUNDLED_LUA_CMAKE_FLAG) $(DEPS_CMAKE_FLAGS)
|
||||||
$(DEPS_CMAKE_FLAGS) $(MAKEFILE_DIR)/cmake.deps
|
|
||||||
endif
|
endif
|
||||||
build/.ran-deps-cmake::
|
build/.ran-deps-cmake::
|
||||||
mkdir -p build
|
mkdir -p build
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
# TODO: cmake 3.2+ add_custom_target() has a USES_TERMINAL flag.
|
# TODO: cmake 3.2+ add_custom_target() has a USES_TERMINAL flag.
|
||||||
oldtest: | nvim build/runtime/doc/tags
|
oldtest: | nvim
|
||||||
+$(SINGLE_MAKE) -C test/old/testdir clean
|
$(SINGLE_MAKE) -C test/old/testdir clean
|
||||||
ifeq ($(strip $(TEST_FILE)),)
|
ifeq ($(strip $(TEST_FILE)),)
|
||||||
+$(SINGLE_MAKE) -C test/old/testdir NVIM_PRG=$(NVIM_PRG) $(MAKEOVERRIDES)
|
$(SINGLE_MAKE) -C test/old/testdir NVIM_PRG=$(NVIM_PRG) $(MAKEOVERRIDES)
|
||||||
else
|
else
|
||||||
@# Handle TEST_FILE=test_foo{,.res,.vim}.
|
@# Handle TEST_FILE=test_foo{,.res,.vim}.
|
||||||
+$(SINGLE_MAKE) -C test/old/testdir NVIM_PRG=$(NVIM_PRG) SCRIPTS= $(MAKEOVERRIDES) $(patsubst %.vim,%,$(patsubst %.res,%,$(TEST_FILE)))
|
$(SINGLE_MAKE) -C test/old/testdir NVIM_PRG=$(NVIM_PRG) SCRIPTS= $(MAKEOVERRIDES) $(patsubst %.vim,%,$(patsubst %.res,%,$(TEST_FILE)))
|
||||||
endif
|
endif
|
||||||
# Build oldtest by specifying the relative .vim filename.
|
# Build oldtest by specifying the relative .vim filename.
|
||||||
.PHONY: phony_force
|
.PHONY: phony_force
|
||||||
test/old/testdir/%.vim: phony_force nvim
|
test/old/testdir/%.vim: phony_force nvim
|
||||||
+$(SINGLE_MAKE) -C test/old/testdir NVIM_PRG=$(NVIM_PRG) SCRIPTS= $(MAKEOVERRIDES) $(patsubst test/old/testdir/%.vim,%,$@)
|
$(SINGLE_MAKE) -C test/old/testdir NVIM_PRG=$(NVIM_PRG) SCRIPTS= $(MAKEOVERRIDES) $(patsubst test/old/testdir/%.vim,%,$@)
|
||||||
|
|
||||||
functionaltest-lua: | nvim
|
functionaltest-lua: | nvim
|
||||||
$(BUILD_TOOL) -C build functionaltest
|
$(BUILD_TOOL) -C build functionaltest
|
||||||
@ -132,23 +120,23 @@ FORMAT=formatc formatlua format
|
|||||||
LINT=lintlua lintsh lintc clang-analyzer lintcommit lint
|
LINT=lintlua lintsh lintc clang-analyzer lintcommit lint
|
||||||
TEST=functionaltest unittest
|
TEST=functionaltest unittest
|
||||||
generated-sources benchmark $(FORMAT) $(LINT) $(TEST) doc: | build/.ran-cmake
|
generated-sources benchmark $(FORMAT) $(LINT) $(TEST) doc: | build/.ran-cmake
|
||||||
$(CMAKE_PRG) --build build --target $@
|
$(CMAKE) --build build --target $@
|
||||||
|
|
||||||
test: $(TEST)
|
test: $(TEST)
|
||||||
|
|
||||||
iwyu: build/.ran-cmake
|
iwyu: build/.ran-cmake
|
||||||
cmake --preset iwyu
|
$(CMAKE) --preset iwyu
|
||||||
cmake --build build > build/iwyu.log
|
$(CMAKE) --build build > build/iwyu.log
|
||||||
iwyu-fix-includes --only_re="src/nvim" --ignore_re="(src/nvim/eval/encode.c\
|
iwyu-fix-includes --only_re="src/nvim" --ignore_re="(src/nvim/eval/encode.c\
|
||||||
|src/nvim/auto/\
|
|src/nvim/auto/\
|
||||||
|src/nvim/os/lang.c\
|
|src/nvim/os/lang.c\
|
||||||
|src/nvim/map.c\
|
|src/nvim/map.c\
|
||||||
)" --nosafe_headers < build/iwyu.log
|
)" --nosafe_headers < build/iwyu.log
|
||||||
cmake -B build -U ENABLE_IWYU
|
$(CMAKE) -B build -U ENABLE_IWYU
|
||||||
cmake --build build
|
$(CMAKE) --build build
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
+test -d build && $(BUILD_TOOL) -C build clean || true
|
test -d build && $(BUILD_TOOL) -C build clean || true
|
||||||
$(MAKE) -C test/old/testdir clean
|
$(MAKE) -C test/old/testdir clean
|
||||||
$(MAKE) -C runtime/indent clean
|
$(MAKE) -C runtime/indent clean
|
||||||
|
|
||||||
@ -157,7 +145,7 @@ distclean:
|
|||||||
$(MAKE) clean
|
$(MAKE) clean
|
||||||
|
|
||||||
install: checkprefix nvim
|
install: checkprefix nvim
|
||||||
+$(BUILD_TOOL) -C build install
|
$(BUILD_TOOL) -C build install
|
||||||
|
|
||||||
appimage:
|
appimage:
|
||||||
bash scripts/genappimage.sh
|
bash scripts/genappimage.sh
|
||||||
|
@ -87,6 +87,24 @@ foreach(dep ${DEPENDENCIES})
|
|||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
|
if(USE_BUNDLED_LUAJIT)
|
||||||
|
set(LUA_ENGINE LuaJit)
|
||||||
|
elseif(USE_BUNDLED_LUA)
|
||||||
|
set(LUA_ENGINE Lua)
|
||||||
|
else()
|
||||||
|
find_package(Luajit)
|
||||||
|
find_package(Lua 5.1 EXACT)
|
||||||
|
if(LUAJIT_FOUND)
|
||||||
|
set(LUA_ENGINE LuaJit)
|
||||||
|
string(APPEND DEPS_INCLUDE_FLAGS " -I${LUAJIT_INCLUDE_DIR}")
|
||||||
|
elseif(LUA_FOUND)
|
||||||
|
set(LUA_ENGINE Lua)
|
||||||
|
string(APPEND DEPS_INCLUDE_FLAGS " -I${LUA_INCLUDE_DIR}")
|
||||||
|
else()
|
||||||
|
message(FATAL_ERROR "Could not find system lua or luajit")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
if(USE_BUNDLED_UNIBILIUM)
|
if(USE_BUNDLED_UNIBILIUM)
|
||||||
include(BuildUnibilium)
|
include(BuildUnibilium)
|
||||||
endif()
|
endif()
|
||||||
|
@ -1,19 +1,3 @@
|
|||||||
set(LPEG_INCLUDE_FLAGS ${DEPS_INCLUDE_FLAGS})
|
|
||||||
|
|
||||||
if(NOT USE_BUNDLED_LUAJIT AND NOT USE_BUNDLED_LUA)
|
|
||||||
find_package(Luajit)
|
|
||||||
if(LUAJIT_FOUND)
|
|
||||||
string(CONCAT LPEG_INCLUDE_FLAGS ${DEPS_INCLUDE_FLAGS} " -I${LUAJIT_INCLUDE_DIR}")
|
|
||||||
else()
|
|
||||||
find_package(Lua 5.1 EXACT)
|
|
||||||
if(LUA_FOUND)
|
|
||||||
string(CONCAT LPEG_INCLUDE_FLAGS ${DEPS_INCLUDE_FLAGS} " -I${LUA_INCLUDE_DIR}")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
list(APPEND LPEG_CMAKE_ARGS -DCMAKE_C_FLAGS=${LPEG_INCLUDE_FLAGS})
|
|
||||||
|
|
||||||
ExternalProject_Add(lpeg
|
ExternalProject_Add(lpeg
|
||||||
URL ${LPEG_URL}
|
URL ${LPEG_URL}
|
||||||
URL_HASH SHA256=${LPEG_SHA256}
|
URL_HASH SHA256=${LPEG_SHA256}
|
||||||
@ -21,7 +5,7 @@ ExternalProject_Add(lpeg
|
|||||||
PATCH_COMMAND ${CMAKE_COMMAND} -E copy
|
PATCH_COMMAND ${CMAKE_COMMAND} -E copy
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/cmake/LpegCMakeLists.txt
|
${CMAKE_CURRENT_SOURCE_DIR}/cmake/LpegCMakeLists.txt
|
||||||
${DEPS_BUILD_DIR}/src/lpeg/CMakeLists.txt
|
${DEPS_BUILD_DIR}/src/lpeg/CMakeLists.txt
|
||||||
CMAKE_ARGS ${DEPS_CMAKE_ARGS} ${LPEG_CMAKE_ARGS}
|
CMAKE_ARGS ${DEPS_CMAKE_ARGS} -DCMAKE_C_FLAGS=${DEPS_INCLUDE_FLAGS}
|
||||||
CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}
|
CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}
|
||||||
${EXTERNALPROJECT_OPTIONS})
|
${EXTERNALPROJECT_OPTIONS})
|
||||||
|
|
||||||
|
@ -5,18 +5,7 @@ set(LUV_CMAKE_ARGS
|
|||||||
-D BUILD_STATIC_LIBS=ON
|
-D BUILD_STATIC_LIBS=ON
|
||||||
-D BUILD_MODULE=OFF)
|
-D BUILD_MODULE=OFF)
|
||||||
|
|
||||||
if(USE_BUNDLED_LUAJIT)
|
list(APPEND LUV_CMAKE_ARGS -D WITH_LUA_ENGINE=${LUA_ENGINE})
|
||||||
list(APPEND LUV_CMAKE_ARGS -D WITH_LUA_ENGINE=LuaJit)
|
|
||||||
elseif(USE_BUNDLED_LUA)
|
|
||||||
list(APPEND LUV_CMAKE_ARGS -D WITH_LUA_ENGINE=Lua)
|
|
||||||
else()
|
|
||||||
find_package(Luajit)
|
|
||||||
if(LUAJIT_FOUND)
|
|
||||||
list(APPEND LUV_CMAKE_ARGS -D WITH_LUA_ENGINE=LuaJit)
|
|
||||||
else()
|
|
||||||
list(APPEND LUV_CMAKE_ARGS -D WITH_LUA_ENGINE=Lua)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(USE_BUNDLED_LIBUV)
|
if(USE_BUNDLED_LIBUV)
|
||||||
list(APPEND LUV_CMAKE_ARGS -D CMAKE_PREFIX_PATH=${DEPS_INSTALL_DIR})
|
list(APPEND LUV_CMAKE_ARGS -D CMAKE_PREFIX_PATH=${DEPS_INSTALL_DIR})
|
||||||
|
@ -89,7 +89,7 @@ function(add_glob_target)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(ARG_TOUCH_STRATEGY STREQUAL SINGLE)
|
if(ARG_TOUCH_STRATEGY STREQUAL SINGLE)
|
||||||
set(touch_file ${TOUCHES_DIR}/ran-${ARG_TARGET})
|
set(touch_file ${TOUCHES_DIR}/${ARG_TARGET})
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${touch_file}
|
OUTPUT ${touch_file}
|
||||||
COMMAND ${CMAKE_COMMAND} -E touch ${touch_file}
|
COMMAND ${CMAKE_COMMAND} -E touch ${touch_file}
|
||||||
@ -103,7 +103,7 @@ function(add_glob_target)
|
|||||||
foreach(f ${ARG_FILES})
|
foreach(f ${ARG_FILES})
|
||||||
string(REGEX REPLACE "^${PROJECT_SOURCE_DIR}/" "" tf ${f})
|
string(REGEX REPLACE "^${PROJECT_SOURCE_DIR}/" "" tf ${f})
|
||||||
string(REGEX REPLACE "[/.]" "-" tf ${tf})
|
string(REGEX REPLACE "[/.]" "-" tf ${tf})
|
||||||
set(touch_file ${touch_dir}/ran-${tf})
|
set(touch_file ${touch_dir}/${tf})
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${touch_file}
|
OUTPUT ${touch_file}
|
||||||
COMMAND ${CMAKE_COMMAND} -E touch ${touch_file}
|
COMMAND ${CMAKE_COMMAND} -E touch ${touch_file}
|
||||||
@ -133,7 +133,7 @@ function(add_glob_target)
|
|||||||
file(MAKE_DIRECTORY ${td})
|
file(MAKE_DIRECTORY ${td})
|
||||||
string(REGEX REPLACE "^${PROJECT_SOURCE_DIR}/" "" tf ${touch_dir})
|
string(REGEX REPLACE "^${PROJECT_SOURCE_DIR}/" "" tf ${touch_dir})
|
||||||
string(REGEX REPLACE "[/.]" "-" tf ${tf})
|
string(REGEX REPLACE "[/.]" "-" tf ${tf})
|
||||||
set(touch_file ${td}/ran-${tf})
|
set(touch_file ${td}/${tf})
|
||||||
|
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${touch_file}
|
OUTPUT ${touch_file}
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
-- Run this file as `nvim --clean -u minimal.lua`
|
-- Run this file as `nvim --clean -u minimal.lua`
|
||||||
|
|
||||||
for name, url in pairs{
|
for name, url in pairs {
|
||||||
-- ADD PLUGINS _NECESSARY_ TO REPRODUCE THE ISSUE, e.g:
|
-- ADD PLUGINS _NECESSARY_ TO REPRODUCE THE ISSUE, e.g:
|
||||||
-- some_plugin = 'https://github.com/author/plugin.nvim'
|
-- some_plugin = 'https://github.com/author/plugin.nvim'
|
||||||
} do
|
} do
|
||||||
local install_path = vim.fn.fnamemodify('nvim_issue/'..name, ':p')
|
local install_path = vim.fn.fnamemodify('nvim_issue/' .. name, ':p')
|
||||||
if vim.fn.isdirectory(install_path) == 0 then
|
if vim.fn.isdirectory(install_path) == 0 then
|
||||||
vim.fn.system { 'git', 'clone', '--depth=1', url, install_path }
|
vim.fn.system { 'git', 'clone', '--depth=1', url, install_path }
|
||||||
end
|
end
|
||||||
|
@ -33,7 +33,7 @@ foreach(PACKAGE ${PACKAGES})
|
|||||||
add_custom_command(OUTPUT "${GENERATED_PACKAGE_DIR}/${PACKNAME}/doc/tags"
|
add_custom_command(OUTPUT "${GENERATED_PACKAGE_DIR}/${PACKNAME}/doc/tags"
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||||
${PACKAGE} ${GENERATED_PACKAGE_DIR}/${PACKNAME}
|
${PACKAGE} ${GENERATED_PACKAGE_DIR}/${PACKNAME}
|
||||||
COMMAND "${PROJECT_BINARY_DIR}/bin/nvim"
|
COMMAND $<TARGET_FILE:nvim_bin>
|
||||||
-u NONE -i NONE -e --headless -c "helptags doc" -c quit
|
-u NONE -i NONE -e --headless -c "helptags doc" -c quit
|
||||||
DEPENDS
|
DEPENDS
|
||||||
nvim_bin
|
nvim_bin
|
||||||
@ -67,7 +67,7 @@ add_custom_command(OUTPUT ${GENERATED_HELP_TAGS}
|
|||||||
COMMAND ${CMAKE_COMMAND} -E remove_directory doc
|
COMMAND ${CMAKE_COMMAND} -E remove_directory doc
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||||
${PROJECT_SOURCE_DIR}/runtime/doc doc
|
${PROJECT_SOURCE_DIR}/runtime/doc doc
|
||||||
COMMAND "${PROJECT_BINARY_DIR}/bin/nvim"
|
COMMAND $<TARGET_FILE:nvim_bin>
|
||||||
-u NONE -i NONE -e --headless -c "helptags ++t doc" -c quit
|
-u NONE -i NONE -e --headless -c "helptags ++t doc" -c quit
|
||||||
DEPENDS
|
DEPENDS
|
||||||
nvim_bin
|
nvim_bin
|
||||||
@ -77,7 +77,7 @@ add_custom_command(OUTPUT ${GENERATED_HELP_TAGS}
|
|||||||
|
|
||||||
# TODO: This doesn't work. wait for "nvim -l" to land?
|
# TODO: This doesn't work. wait for "nvim -l" to land?
|
||||||
add_custom_target(doc_html
|
add_custom_target(doc_html
|
||||||
COMMAND "${PROJECT_BINARY_DIR}/bin/nvim"
|
COMMAND $<TARGET_FILE:nvim_bin>
|
||||||
-V1 -es --clean -c "lua require('scripts.gen_help_html').gen('./build/runtime/doc', './build/doc_html', nil, 'todo_commit_id')" -c "0cq"
|
-V1 -es --clean -c "lua require('scripts.gen_help_html').gen('./build/runtime/doc', './build/doc_html', nil, 'todo_commit_id')" -c "0cq"
|
||||||
DEPENDS
|
DEPENDS
|
||||||
${GENERATED_HELP_TAGS}
|
${GENERATED_HELP_TAGS}
|
||||||
|
@ -3,12 +3,12 @@ add_library(main_lib INTERFACE)
|
|||||||
# Internally we need to make a distinction between "nvim without runtime files"
|
# Internally we need to make a distinction between "nvim without runtime files"
|
||||||
# (nvim_bin) and "nvim with runtime files" (nvim).
|
# (nvim_bin) and "nvim with runtime files" (nvim).
|
||||||
add_executable(nvim_bin EXCLUDE_FROM_ALL)
|
add_executable(nvim_bin EXCLUDE_FROM_ALL)
|
||||||
set_target_properties(nvim_bin PROPERTIES OUTPUT_NAME nvim)
|
|
||||||
|
|
||||||
set_target_properties(nvim_bin
|
set_target_properties(nvim_bin
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
EXPORT_COMPILE_COMMANDS ON
|
EXPORT_COMPILE_COMMANDS ON
|
||||||
ENABLE_EXPORTS TRUE)
|
ENABLE_EXPORTS TRUE
|
||||||
|
OUTPUT_NAME nvim)
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
# Dependencies
|
# Dependencies
|
||||||
|
@ -182,6 +182,7 @@ if(HAVE_WORKING_LIBINTL AND GETTEXT_FOUND AND XGETTEXT_PRG AND ICONV_PRG)
|
|||||||
BuildMo(${LANGUAGE})
|
BuildMo(${LANGUAGE})
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
add_custom_target(nvim_translations ALL DEPENDS ${LANGUAGE_MO_FILES})
|
add_custom_target(nvim_translations DEPENDS ${LANGUAGE_MO_FILES})
|
||||||
add_custom_target(update-po DEPENDS ${UPDATE_PO_TARGETS})
|
add_custom_target(update-po DEPENDS ${UPDATE_PO_TARGETS})
|
||||||
|
add_dependencies(nvim nvim_translations)
|
||||||
endif()
|
endif()
|
||||||
|
Loading…
Reference in New Issue
Block a user