|
25 | 25 | # THE POSSIBILITY OF SUCH DAMAGE. |
26 | 26 |
|
27 | 27 | string(REPLACE ":" ";" _PATH $ENV{PATH}) |
| 28 | +set(CLANG_FORMAT_FOUND OFF) |
28 | 29 | foreach(p ${_PATH}) |
29 | | - file(GLOB cand ${p}/clang-format*) |
30 | | - if(cand) |
31 | | - set(CLANG_FORMAT_EXECUTABLE ${cand}) |
32 | | - set(CLANG_FORMAT_FOUND ON) |
33 | | - execute_process(COMMAND ${CLANG_FORMAT_EXECUTABLE} -version OUTPUT_VARIABLE clang_out ) |
34 | | - string(REGEX MATCH .*\(version[^\n]*\)\n version ${clang_out}) |
35 | | - set(CLANG_FORMAT_VERSION ${CMAKE_MATCH_1}) |
36 | | - break() |
37 | | - else() |
38 | | - set(CLANG_FORMAT_FOUND OFF) |
| 30 | + file(GLOB cand ${p}/clang-format ${p}/clang-format-[0-9].[0-9]) |
| 31 | + foreach(candidate ${cand}) |
| 32 | + set(CLANG_FORMAT_EXECUTABLE ${candidate}) |
| 33 | + execute_process(COMMAND ${CLANG_FORMAT_EXECUTABLE} -version OUTPUT_VARIABLE clang_out ) |
| 34 | + string(REGEX MATCH "version \([0-9]\\.[0-9]\)" VERSION_OUTPUT ${clang_out}) |
| 35 | + set(CLANG_FORMAT_VERSION ${CMAKE_MATCH_1}) |
| 36 | + if ((${CLANG_FORMAT_VERSION} VERSION_GREATER ${CLANG_FORMAT_MIN_VERSION}) OR (${CLANG_FORMAT_VERSION} VERSION_EQUAL ${CLANG_FORMAT_MIN_VERSION})) |
| 37 | + set (FIT_MIN_REQUIRED true) |
| 38 | + else () |
| 39 | + set (FIT_MIN_REQUIRED false) |
39 | 40 | endif() |
| 41 | + if ((${CLANG_FORMAT_VERSION} VERSION_LESS ${CLANG_FORMAT_MAX_VERSION}) OR (${CLANG_FORMAT_VERSION} VERSION_EQUAL ${CLANG_FORMAT_MAX_VERSION})) |
| 42 | + set (FIT_MAX_REQUIRED true) |
| 43 | + else () |
| 44 | + set (FIT_MAX_REQUIRED false) |
| 45 | + endif() |
| 46 | + if ( ${FIT_MIN_REQUIRED} AND ${FIT_MAX_REQUIRED}) |
| 47 | + set(CLANG_FORMAT_FOUND ON) |
| 48 | + break() |
| 49 | + endif() |
| 50 | + endforeach() |
| 51 | + if (${CLANG_FORMAT_FOUND}) |
| 52 | + break() |
| 53 | + endif() |
40 | 54 | endforeach() |
0 commit comments