CMake表达了“更大或更平等”的陈述

时间:2013-05-21 09:50:24

标签: cmake

我知道在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

2 个答案:

答案 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。