cmake if условие внутри макроса / функции - PullRequest
1 голос
/ 07 декабря 2011

Я использую

Это всегда происходит внутри, иначе функция почему?

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 ]

3 голосов
/ 08 декабря 2011

Заменить if(STAND2 EQUAL FALSE) на if(NOT STAND2).

1 голос
/ 02 ноября 2012

Это официальное объяснение команды if относительно EQUAL, которая требует, чтобы обе стороны имели значение действительное число , вот почему ваша ветвь if никогда не будет оценена.

if(<variable|string> LESS <variable|string>)<br>  if(<variable|string> GREATER <variable|string>)<br>  if(<variable|string> EQUAL <variable|string>)<br>
True if the given string or variable's value is a valid number and the inequality or equality is true.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...