cmake_modules/FindClang.cmake
branchsdl2transition
changeset 11362 ed5a6478e710
parent 9246 75f430ebeb74
equal deleted inserted replaced
11361:31570b766315 11362:ed5a6478e710
       
     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