实在是太奇怪了!
macro(foo in1)
message("FIRST" ${in1})
message("OPtional1:" ${ARGV1})
message("OPtional2:" ${ARGV2})
if( NOT ${ARGV1} AND ${ARGV2} )
message("IF")
else()
message("ELSE")
endif()
endmacro()
运行方式如下:
foo("gaga" false true)
(SHOULD GIVE "IF") WORKS!
< 强 > BUT 强 >
foo("gaga" false)
因为第二个备选论点是FALSE!
错误结果 :
cmake:126 (if):
given arguments: "NOT" "false" "AND"
Unknown arguments specified
这是虫子吗?
下列作品:
if( NOT "${ARGV1}" AND "${ARGV2}" )
message("IF")
else()
message("ELSE")
endif()
为什么?
感谢您的帮助!
(有它工作的职能)