aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2017-03-31 12:02:59 +0300
committerZyX <kp-pav@yandex.ru>2017-03-31 16:04:18 +0300
commitc61858a9978504c645f09de60daf4f9786c2220e (patch)
tree1086c01fb178801836ddfb0a63b15f410070da30
parent24fd125893203c667789cb574b289fc1c9eaf6bc (diff)
downloadrneovim-c61858a9978504c645f09de60daf4f9786c2220e.tar.gz
rneovim-c61858a9978504c645f09de60daf4f9786c2220e.tar.bz2
rneovim-c61858a9978504c645f09de60daf4f9786c2220e.zip
cmake: Replace RunLint.cmake with code in src/nvim/CMakeLists.txt
This also removes LINT_FILE environment variable, other then that functionality is kept. It is expected that developers needing partial linting will use `make lint`, touching interesting file before (if not done already by writing to them).
-rw-r--r--Makefile12
-rw-r--r--cmake/RunLint.cmake32
-rw-r--r--src/nvim/CMakeLists.txt13
3 files changed, 18 insertions, 39 deletions
diff --git a/Makefile b/Makefile
index d2f6c11b19..5e2bbb99d1 100644
--- a/Makefile
+++ b/Makefile
@@ -126,15 +126,15 @@ distclean: clean
install: | nvim
+$(BUILD_CMD) -C build install
-clint:
- $(CMAKE_PRG) -DLINT_PRG=./src/clint.py \
- -DLINT_DIR=src \
- -DLINT_SUPPRESS_URL="$(DOC_DOWNLOAD_URL_BASE)$(CLINT_ERRORS_FILE_PATH)" \
- -P cmake/RunLint.cmake
+clint: build/.ran-cmake
+ +$(BUILD_CMD) -C build clint
+
+clint-full: build/.ran-cmake
+ +$(BUILD_CMD) -C build clint-full
check-single-includes: build/.ran-cmake
+$(BUILD_CMD) -C build check-single-includes
-lint: check-single-includes clint testlint
+lint: check-single-includes clint-full testlint
.PHONY: test testlint functionaltest unittest lint clint clean distclean nvim libnvim cmake deps install
diff --git a/cmake/RunLint.cmake b/cmake/RunLint.cmake
deleted file mode 100644
index 306e938232..0000000000
--- a/cmake/RunLint.cmake
+++ /dev/null
@@ -1,32 +0,0 @@
-get_filename_component(LINT_DIR ${LINT_DIR} ABSOLUTE)
-get_filename_component(LINT_PREFIX ${LINT_DIR} PATH)
-set(LINT_SUPPRESS_FILE "${LINT_PREFIX}/errors.json")
-
-if(DEFINED ENV{LINT_FILE})
- file(GLOB_RECURSE LINT_FILES "$ENV{LINT_FILE}")
-else()
- file(GLOB_RECURSE LINT_FILES ${LINT_DIR}/*.c ${LINT_DIR}/*.h)
-endif()
-
-set(LINT_ARGS)
-
-if(LINT_SUPPRESS_URL)
- file(DOWNLOAD ${LINT_SUPPRESS_URL} ${LINT_SUPPRESS_FILE})
- list(APPEND LINT_ARGS "--suppress-errors=${LINT_SUPPRESS_FILE}")
-endif()
-
-foreach(lint_file ${LINT_FILES})
- file(RELATIVE_PATH lint_file "${LINT_PREFIX}" "${lint_file}")
- list(APPEND LINT_ARGS "${lint_file}")
-endforeach()
-
-execute_process(
- COMMAND ${LINT_PRG} ${LINT_ARGS}
- RESULT_VARIABLE res
- WORKING_DIRECTORY "${LINT_PREFIX}")
-
-file(REMOVE ${LINT_SUPPRESS_FILE})
-
-if(NOT res EQUAL 0)
- message(FATAL_ERROR "Linting failed: ${res}.")
-endif()
diff --git a/src/nvim/CMakeLists.txt b/src/nvim/CMakeLists.txt
index f5f4173879..b19bdf2326 100644
--- a/src/nvim/CMakeLists.txt
+++ b/src/nvim/CMakeLists.txt
@@ -505,21 +505,32 @@ endfunction()
add_download(${LINT_SUPPRESS_FILE} ${LINT_SUPPRESS_URL} off)
+set(LINT_NVIM_REL_SOURCES)
foreach(sfile ${LINT_NVIM_SOURCES})
get_test_target("" "${sfile}" r suffix)
set(suppress_file ${LINT_SUPPRESSES_ROOT}/${suffix}.json)
set(suppress_url "${LINT_SUPPRESS_URL_BASE}/${suffix}.json")
+ set(rsfile src/nvim/${r})
add_download(${suppress_file} ${suppress_url} on)
set(touch_file "${TOUCHES_DIR}/ran-clint-${suffix}")
add_custom_command(
OUTPUT ${touch_file}
- COMMAND ${LINT_PRG} --suppress-errors=${suppress_file} src/nvim/${r}
+ COMMAND ${LINT_PRG} --suppress-errors=${suppress_file} ${rsfile}
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
COMMAND ${CMAKE_COMMAND} -E touch ${touch_file}
DEPENDS ${sfile} ${suppress_file}
)
list(APPEND LINT_TARGETS ${touch_file})
+ list(APPEND LINT_NVIM_REL_SOURCES ${rsfile})
endforeach()
add_custom_target(clint DEPENDS ${LINT_TARGETS})
+add_custom_target(
+ clint-full
+ COMMAND
+ ${LINT_PRG} --suppress-errors=${LINT_SUPPRESS_FILE} ${LINT_NVIM_REL_SOURCES}
+ WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+ DEPENDS ${LINT_NVIM_SOURCES} ${LINT_SUPPRESS_FILE}
+)
+
add_subdirectory(po)