Spaces:
Runtime error
Runtime error
| # Find clang-format | |
| # | |
| # CLANG_FORMAT_EXECUTABLE - Path to clang-format executable | |
| # CLANG_FORMAT_FOUND - True if the clang-format executable was found. | |
| # CLANG_FORMAT_VERSION - The version of clang-format found | |
| # | |
| # Copyright 2009-2020 The VOTCA Development Team (http://www.votca.org) | |
| # | |
| # Licensed under the Mozilla Public License Version 2.0 (the "License"); | |
| # you may not use this file except in compliance with the License. | |
| # You may obtain a copy of the License at | |
| # | |
| # https://www.mozilla.org/en-US/MPL/2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| # See the License for the specific language governing permissions and | |
| # limitations under the License. | |
| # | |
| find_program(CLANG_FORMAT_EXECUTABLE | |
| NAMES | |
| clang-format-9 | |
| clang-format | |
| clang-format-11 | |
| clang-format-10 | |
| clang-format-8 | |
| clang-format-7 | |
| DOC "clang-format executable") | |
| mark_as_advanced(CLANG_FORMAT_EXECUTABLE) | |
| # Extract version from command "clang-format -version" | |
| if(CLANG_FORMAT_EXECUTABLE) | |
| execute_process(COMMAND ${CLANG_FORMAT_EXECUTABLE} -version | |
| OUTPUT_VARIABLE clang_format_version | |
| ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) | |
| if(clang_format_version MATCHES "^.*clang-format version .*") | |
| # clang_format_version sample: "clang-format version 3.9.1-4ubuntu3~16.04.1 | |
| # (tags/RELEASE_391/rc2)" | |
| string(REGEX | |
| REPLACE "^.*clang-format version ([.0-9]+).*" | |
| "\\1" | |
| CLANG_FORMAT_VERSION | |
| "${clang_format_version}") | |
| # CLANG_FORMAT_VERSION sample: "3.9.1" | |
| else() | |
| set(CLANG_FORMAT_VERSION 0.0) | |
| endif() | |
| else() | |
| set(CLANG_FORMAT_VERSION 0.0) | |
| endif() | |
| include(FindPackageHandleStandardArgs) | |
| # handle the QUIETLY and REQUIRED arguments and set CLANG_FORMAT_FOUND to TRUE | |
| # if all listed variables are TRUE | |
| find_package_handle_standard_args(CLANG_FORMAT REQUIRED_VARS CLANG_FORMAT_EXECUTABLE VERSION_VAR CLANG_FORMAT_VERSION) | |