cmake if条件内的宏/函数

时间:2011-12-07 12:42:34

标签: cmake

我正在使用

它总是在其他函数内部为什么?

function(add_exe_name exe STAND2)
if(STAND2 EQUAL FALSE)
MESSAGE (FATAL_ERROR "Are bhi ${STAND} ${STAND2}")
SET(${exe}-exe "app-${exe}")
SET(${exe}-temp "app-${exe}")
else()
MESSAGE (FATAL_ERROR "${STAND} ${STAND2}")
SET(${exe}-exe "app-${exe}")
SET(${exe}-temp "${exe}")
endif(STAND2 EQUAL FALSE)
endfunction(add_exe_name)

不关心STAND2的价值

2 个答案:

答案 0 :(得分:3)

if(STAND2 EQUAL FALSE)替换为if(NOT STAND2)

答案 1 :(得分:1)

这是关于EQUAL的 if 命令的官方解释,这要求双手应该是有效数字,这就是你的if分支永远不会被评估的原因。

  if(<variable|string> LESS <variable|string>)
if(<variable|string> GREATER <variable|string>)
if(<variable|string> EQUAL <variable|string>)
True if the given string or variable's value is a valid number and the inequality or equality is true.