mirror of
https://gitlab.com/libeigen/eigen.git
synced 2024-12-21 07:19:46 +08:00
62 lines
2.2 KiB
CMake
62 lines
2.2 KiB
CMake
|
|
|
|
# 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)
|