cmake IF 语句中的错误

拉曼

if我的.cmake文件中有一个声明,内容如下:

if( (NOT ${GCC_VERSION} GREATER some_version ) AND something EQUAL somethingelse)
    #todo ...
endif()

NOT只需要第一次检查语句。

我收到以下错误:

CMake Error: Error in cmake code at
/.../XXX.cmake:123:
Parse error.  Function missing ending ")".  Instead found left paren with text "(".

感谢您的帮助。

弗洛里安

GCC_VERSION变量可能为空,导致无效if语句。

放在${GCC_VERSION}引号中(CMake 只知道字符串)或不要取消引用变量(这是一个等效的操作)以确保安全:

if( NOT "${GCC_VERSION}" GREATER some_version )

或者

if( NOT GCC_VERSION GREATER some_version )

参考

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章