File: ClangFormat.cmake

package info (click to toggle)
tomopy 1.15.2%2Bds1-3
  • links: PTS, VCS
  • area: contrib
  • in suites: forky, sid, trixie
  • size: 16,308 kB
  • sloc: cpp: 8,205; ansic: 7,231; python: 6,628; sh: 169; makefile: 67
file content (40 lines) | stat: -rw-r--r-- 1,275 bytes parent folder | download
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
28
29
30
31
32
33
34
35
36
37
38
39
40
# ##############################################################################
#
# Creates a 'format' target that runs clang-format
#
# ##############################################################################

find_program(CLANG_FORMATTER NAMES clang-format-8.0 clang-format-7.0
                                   clang-format-6.0 clang-format)

if(CLANG_FORMATTER)
  file(
    GLOB
    headers
    ${PROJECT_SOURCE_DIR}/include/libtomo/*.h
    ${PROJECT_SOURCE_DIR}/include/libtomo/*.h
    ${PROJECT_SOURCE_DIR}/include/libtomo/*.hh
    ${PROJECT_SOURCE_DIR}/include/libtomo/*.hpp)
  file(
    GLOB
    sources
    ${PROJECT_SOURCE_DIR}/source/libtomo/*/*.c
    ${PROJECT_SOURCE_DIR}/source/libtomo/*/*.h
    ${PROJECT_SOURCE_DIR}/source/libtomo/*/*.hh
    ${PROJECT_SOURCE_DIR}/source/libtomo/*/*.cc
    ${PROJECT_SOURCE_DIR}/source/libtomo/*/cxx/*.cc
    ${PROJECT_SOURCE_DIR}/source/libtomo/*/gpu/*.cu)

  # avoid conflicting format targets
  set(FORMAT_NAME format)
  if(TARGET format)
    set(FORMAT_NAME format-libtomo)
  endif()

  add_custom_target(
    ${FORMAT_NAME}
    COMMAND ${CLANG_FORMATTER} -i ${headers} ${sources}
    WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
    COMMENT "Running '${CLANG_FORMATTER}'..."
    SOURCES ${headers} ${sources})
endif()