下面就奇怪了!
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)
(应该给出“如果”)有效!
但
foo("gaga" false)
(应该给出“ELSE”,因为第二个可选参数是 FALSE!)
结果错误:
cmake:126 (if):
given arguments: "NOT" "false" "AND"
Unknown arguments specified
这是bug吗??
以下作品:
if( NOT "${ARGV1}" AND "${ARGV2}" )
message("IF")
else()
message("ELSE")
endif()
为什么???
谢谢你的帮助!
(它的功能是有效的)