Синтаксис CMake: как отменить, если (<constant>) и если () - PullRequest
0 голосов
/ 27 сентября 2018

Команда CMake if [1] поддерживает несколько подписей, начиная с

if(<constant>)
if(<variable|string>)
if(NOT <expression>)

Как отменить первые два?

Если документация CMake верна (что в моем опыте далекоиз определенного), то мой вопрос сводится к:

Как преобразовать константу, переменную или строку X в выражение, с дополнительным требованием, что X должен быть оценен как логическое значение?

[1] https://cmake.org/cmake/help/latest/command/if.html

1 Ответ

0 голосов
/ 27 сентября 2018

На самом деле, <expression> это просто заполнитель для любого параметра , который может быть передан в if.Даже список возможных конструкций if называется «Возможные выражения».

if(NOT <constant>) # Revert 'if(<constant>)'
if(NOT <variable|string>) # Revert 'if(NOT <variable|string>)'
...