mirror of
https://github.com/neovim/neovim.git
synced 2024-12-19 18:55:14 -07:00
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).
This commit is contained in:
parent
24fd125893
commit
c61858a997
12
Makefile
12
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
|
||||
|
@ -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()
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user