我的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 "(".
感谢您的帮助。
答案 0 :(得分:2)
GCC_VERSION
变量可能为空,从而导致if
语句无效。
将${GCC_VERSION}
放在引号中(CMake只知道字符串)或者不要取消引用变量(这是一个等效的操作)是安全的:
if( NOT "${GCC_VERSION}" GREATER some_version )
或
if( NOT GCC_VERSION GREATER some_version )
<强>参考强>