Skip to content
Snippets Groups Projects
Select Git revision
  • v2.0.80
  • master default protected
  • al9-jobs
  • engamber-master-patch-62722
  • wip-el
  • wip-sfa
  • v2.0.159 protected
  • v2.0.145 protected
  • v2.0.140 protected
  • v2.0.127 protected
  • v2.0.118 protected
  • v2.0.76 protected
  • v2.0.67 protected
13 results

ClangFormatScript.cmake

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    ClangFormatScript.cmake 927 B
    # Arguments: SRCDIRS (list of directories to analyse)
    separate_arguments(SRCDIRS)
    string(TOLOWER "${MODE}" MODE)
    
    set(S "${CMAKE_CURRENT_LIST_DIR}/..")
    set(B "${CMAKE_BINARY_DIR}")
    
    find_program(CLANG_FORMAT_EXE NAMES cquery-clang-format
        HINTS /opt/cquery/bin)
    find_program(CLANG_FORMAT_EXE NAMES clang-format)
    
    foreach(F IN LISTS SRCDIRS)
        list(APPEND GLOB_PATTERN "${S}/${F}/*.cpp" "${S}/${F}/*.hpp")
        list(APPEND GLOB_PATTERN "${S}/${F}/*.cc" "${S}/${F}/*.hh" "${S}/${F}/*.h")
    endforeach()
    file(GLOB_RECURSE SRCS RELATIVE "${S}" ${GLOB_PATTERN})
    
    function(gen SRCS)
        foreach(F IN LISTS SRCS)
            message(STATUS "Running Clang Format on \"${F}\"")
            execute_process(
                COMMAND "${CLANG_FORMAT_EXE}" -i "${F}"
                WORKING_DIRECTORY "${S}"
                # ERROR_FILE "${B}/${F}.clang-format-err"
                ERROR_STRIP_TRAILING_WHITESPACE)
        endforeach()
    endfunction()
    
    gen("${SRCS}")