equal
deleted
inserted
replaced
|
1 # - Try to find the Clang/LLVM executable |
|
2 # Once done this will define |
|
3 # |
|
4 # CLANG_FOUND - system has Clang |
|
5 # CLANG_VERSION - Clang version |
|
6 # CLANG_EXECUTABLE - Clang executable |
|
7 # |
|
8 # Copyright (c) 2013, Vittorio Giovara <vittorio.giovara@gmail.com> |
|
9 # |
|
10 # Redistribution and use is allowed according to the terms of the BSD license. |
|
11 # For details see the accompanying COPYING-CMAKE-SCRIPTS file. |
|
12 |
|
13 find_program(CLANG_EXECUTABLE |
|
14 NAMES clang-mp-3.3 clang-mp-3.2 clang-mp-3.1 clang-mp-3.0 clang |
|
15 PATHS /opt/local/bin /usr/local/bin /usr/bin) |
|
16 |
|
17 if (CLANG_EXECUTABLE) |
|
18 execute_process(COMMAND ${CLANG_EXECUTABLE} --version |
|
19 OUTPUT_VARIABLE CLANG_VERSION_OUTPUT |
|
20 ERROR_VARIABLE CLANG_VERSION_ERROR |
|
21 RESULT_VARIABLE CLANG_VERSION_RESULT |
|
22 OUTPUT_STRIP_TRAILING_WHITESPACE |
|
23 ) |
|
24 |
|
25 if(${CLANG_VERSION_RESULT} EQUAL 0) |
|
26 string(REGEX MATCH "[0-9]+\\.[0-9]+" CLANG_VERSION "${CLANG_VERSION_OUTPUT}") |
|
27 string(REGEX REPLACE "([0-9]+\\.[0-9]+)" "\\1" CLANG_VERSION "${CLANG_VERSION}") |
|
28 else() |
|
29 message(SEND_ERROR "Command \"${CLANG_EXECUTABLE} --version\" failed with output: ${CLANG_VERSION_ERROR}") |
|
30 endif() |
|
31 endif() |
|
32 |
|
33 include(FindPackageHandleStandardArgs) |
|
34 find_package_handle_standard_args(Clang DEFAULT_MSG CLANG_EXECUTABLE CLANG_VERSION) |
|
35 mark_as_advanced(CLANG_VERSION) |
|
36 |