CMake: clang版本的分支
CMake : branch on clang version
如何实现clang++的cmake分支?
if (GXX_VERSION VERSION_GREATER 4.5 OR GXX_VERSION VERSION_EQUAL 4.5)
...
谢谢,
由于某些原因piokuc的解决方案不适合我,所以我做了以下操作:
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)
....
CMake为clang定义如下:
- CLANG_VERSION_MAJOR,
- CLANG_VERSION_MINOR,
- CLANG_VERSION_PATCHLEVEL, CLANG_VERSION_STRING
这个适合我:
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 3.2)
...
...
endif ()
同样,我们有VERSION_LESS
和VERSION_EQUAL
。
在cmake v3.1.3下,我必须检查CMAKE_CXX_COMPILER_VERSION,因为没有CLANG_VERSION_STRING,所以看起来现在为每个编译器类型定义了一个版本,赋予了更多的控制。
相关文章:
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 导入库可以跨dll版本工作吗
- IPC使用多个管道和分支进程来运行Python程序
- 在调用FreeLibrary后,释放动态链接到具有相同版本的CRT堆的DLL的内存
- 如何删除peer if else分支中的冗长句子
- 如何确保在使用基于布尔值的两个方法之一调用方法时避免分支预测错误
- 在clang++预处理器中确定gcc工具链版本
- 码头化的C++应用程序是否向后兼容早期的内核版本
- 不同的Visual Studio版本中缺少.dll
- 用符号版本替换对函数的所有调用
- 如何正确地将分支添加到已存在的树中
- luaL_dofile在已知良好的字节码上失败,可以使用未编译的版本
- 正在解码MSVC 32位版本的程序集(作业).没有手术做什么
- 我需要分发哪些版本的可再分发文件
- 如何将分支添加到已存在的TTree:ROOT
- CV_OCL_RUN宏如何在OpenCV(版本3.4.5)的goodFeaturesToTrack实现中工作?
- 在运行时读取 libstdc++ 版本
- 如何为不同的分支使用不同的 Xcode 版本(或具有不同 Clang 版本的最新 Xcode)?
- 如果 x > y,则用 y 交换 x 的无分支版本?
- CMake: clang版本的分支