aboutsummaryrefslogtreecommitdiff
path: root/cmake/RunLint.cmake
blob: 35d3f942aa230dbd0747cf9fb7354b0f182f4b8f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
get_filename_component(LINT_DIR ${LINT_DIR} ABSOLUTE)
get_filename_component(LINT_PREFIX ${LINT_DIR} PATH)
file(GLOB_RECURSE LINT_FILES ${LINT_DIR}/*.c ${LINT_DIR}/*.h)

if(LINT_IGNORE_FILE)
  file(READ ${LINT_IGNORE_FILE} LINT_IGNORED_FILES)
  string(REPLACE "\n" ";" LINT_IGNORED_FILES ${LINT_IGNORED_FILES})
  message(STATUS "Ignoring the following files for linting:")
  foreach(ignore_file ${LINT_IGNORED_FILES})
    message(STATUS "${ignore_file}")
    list(REMOVE_ITEM LINT_FILES "${LINT_PREFIX}/${ignore_file}")
  endforeach()
endif()

execute_process(
  COMMAND ${LINT_PRG} ${LINT_FILES}
  RESULT_VARIABLE res)

if(NOT res EQUAL 0)
  message(FATAL_ERROR "Linting failed: ${res}.")
endif()