# HG changeset patch # User Bryan Dunsmore # Date 1354327455 21600 # Node ID 39d7a16ce60c1e571156b862eb92beb2cfbecbbe # Parent d088be5ecdcb9a9ecc84d7a11f407e0383f2e58f Move code for Clang to separate CMake module. diff -r d088be5ecdcb -r 39d7a16ce60c cmake_modules/FindClang.cmake --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cmake_modules/FindClang.cmake Fri Nov 30 20:04:15 2012 -0600 @@ -0,0 +1,27 @@ +# Load LLVM/Clang +IF (CLANG) + SET(CLANG_EXECUTABLE ${CLANG}) +ELSE() + FIND_PROGRAM(CLANG_EXECUTABLE + NAMES clang-mp-3.2 clang-mp-3.1 clang-mp-3.0 clang + PATHS /opt/local/bin /usr/local/bin /usr/bin) +ENDIF() + +# Check LLVM/Clang version +IF (CLANG_EXECUTABLE) + EXEC_PROGRAM(${CLANG_EXECUTABLE} ARGS "-v" OUTPUT_VARIABLE CLANG_VERSION_FULL) + + STRING(REGEX MATCH "[0-9]+\\.[0-9]+" CLANG_VERSION_LONG "${CLANG_VERSION_FULL}") + STRING(REGEX REPLACE "([0-9]+\\.[0-9]+)" "\\1" CLANG_VERSION "${CLANG_VERSION_LONG}") + + # Required that LLVM/Clang version is >= 3.0 + IF (CLANG_VERSION VERSION_GREATER 3.0 OR CLANG_VERSION VERSION_EQUAL 3.0) + MESSAGE(STATUS "Found CLANG: ${CLANG_EXECUTABLE} (version ${CLANG_VERSION})") + ELSE() + MESSAGE(FATAL_ERROR "Necessary LLVM/Clang version not found (version >= 3.0 required)") + ENDIF() +ELSE() + MESSAGE(FATAL_ERROR "No LLVM/Clang compiler found (required for engine_c target)") +ENDIF() + +SET(CMAKE_C_COMPILER ${CLANG_EXECUTABLE}) diff -r d088be5ecdcb -r 39d7a16ce60c project_files/hwc/CMakeLists.txt --- a/project_files/hwc/CMakeLists.txt Sat Nov 24 04:27:31 2012 +0100 +++ b/project_files/hwc/CMakeLists.txt Fri Nov 30 20:04:15 2012 -0600 @@ -1,26 +1,3 @@ - -#only Clang is supported -if(CLANG) - set(clang_executable ${CLANG}) -else() - find_program(clang_executable - NAMES clang-mp-3.2 clang-mp-3.1 clang-mp-3.0 clang - PATHS /opt/local/bin /usr/local/bin /usr/bin) -endif() - -if (clang_executable) - exec_program(${clang_executable} ARGS "-v" OUTPUT_VARIABLE clang_version_full) - string(REGEX MATCH "[0-9]+\\.[0-9]+" clang_version_long "${clang_version_full}") - string(REGEX REPLACE "([0-9]+\\.[0-9]+)" "\\1" clang_version "${clang_version_long}") - #TODO: check version >= 3.0 - message(STATUS "Found CLANG: ${clang_executable} (version ${clang_version})") -else() - message(FATAL_ERROR "No LLVM/Clang compiler found (required for engine_c target)") -endif() - -set(CMAKE_C_COMPILER ${clang_executable}) - - #the usual set of dependencies find_package(OpenGL REQUIRED) find_package(GLEW REQUIRED)