CMake 获取clang 版本
通过cmake set设置CMAKE_C_COMPILER/CMAKE_ASM_COMPILER/CMAKE_CXX_COMPILER,
SET(CMAKE_C_COMPILER "xxx/clang")
SET(CMAKE_ASM_COMPILER "xxx/clang")
SET(CMAKE_CXX_COMPILER "xxx/clang++")
CMake 中与 clang相关的变量如下,但都是系统clang相关的,与前面设置clang无关:
- CLANG_VERSION_MAJOR,
- CLANG_VERSION_MINOR,
- CLANG_VERSION_PATCHLEVEL,
- and the combination of the above: CLANG_VERSION_STRING
可以通过下面的命令获取自定义的clang的版本
EXECUTE_PROCESS( COMMAND ${CMAKE_CXX_COMPILER} --version OUTPUT_VARIABLE clang_full_version_string )
string (REGEX REPLACE ".*clang version ([0-9]+\\.[0-9]+).*" "\\1" CLANG_VERSION_STRING ${clang_full_version_string})
if (CLANG_VERSION_STRING VERSION_GREATER 3.1)
...
endif ()
[1] https://stackoverflow.com/questions/16150888/cmake-branch-on-clang-version