aboutsummaryrefslogtreecommitdiff
path: root/cmake/RunLint.cmake
blob: a6d5a01b50302a44de6271b7fdf5a9c8174fff85 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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})
  foreach(ignore_file ${LINT_IGNORED_FILES})
    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()