我知道在CMake中我可以检查像这样的编译器版本
if(MSVC_VERSION LESS 1700)
... // MSVC is lower than MSVC2012
但我如何用CMake语法表达呢?
if(MSVC_VERSION GREATER_OR_EQUAL_TO 1700)
... // MSVC greater or equal to MSVC2012
答案 0 :(得分:44)
更新CMake 3.7及更高版本:
if
的CMake 3.7 introduced a couple of new comparisons,其中GREATER_EQUAL
:
if(MSVC_VERSION GREATER_EQUAL 1700)
[...]
较旧的CMake版本的原始答案:
if((MSVC_VERSION GREATER 1700) OR (MSVC_VERSION EQUAL 1700))
[...]
或者可能更好,因为它避免重复这个条件:
if(NOT (MSVC_VERSION LESS 1700))
[...]
答案 1 :(得分:0)
在 3.7 中引入了 GREATER_EQUAL 和 LESS_EQUAL。