aboutsummaryrefslogtreecommitdiff
path: root/etc/scanners.cmake
blob: 2dd9da0cdd708d05b81538b5e9808727bba05919 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
file (GLOB_RECURSE RICOCHET_CC_FILES ${CMAKE_SOURCE_DIR}/src/*.cc)

file(GLOB_RECURSE ALL_SRC_FILES 
    ${CMAKE_SOURCE_DIR}/src/*.cc 
    ${CMAKE_SOURCE_DIR}/src/*.hh
    ${CMAKE_SOURCE_DIR}/include/*.hh
)

add_custom_target (format "clang-format" -i ${ALL_SRC_FILES} COMMENT "Formatting source code...")

foreach (tidy_target ${ALL_SRC_FILES})
  get_filename_component (basename ${tidy_target} NAME)
  get_filename_component (dirname ${tidy_target} DIRECTORY)
  get_filename_component (basedir ${dirname} NAME)
  set (tidy_target_name "${basedir}__${basename}")
  set (tidy_command clang-tidy --quiet -header-filter=.* -p=${PROJECT_BINARY_DIR} ${tidy_target})
  add_custom_target (tidy_${tidy_target_name} ${tidy_command})
  list (APPEND ALL_TIDY_TARGETS tidy_${tidy_target_name})

  if (${tidy_target} IN_LIST RICOCHET_CC_FILES)
    list (APPEND RICOCHET_TIDY_TARGETS tidy_${tidy_target_name})
  endif ()
endforeach (tidy_target)

add_custom_target (tidy DEPENDS ${RICOCHET_TIDY_TARGETS})

add_custom_target (tidy-all DEPENDS ${ALL_TIDY_TARGETS})