Синтаксис CMake: как отменить if (<constant>) и if (<variable | string>)

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

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

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

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

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

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

1 ответ

Решение

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

if(NOT <constant>) # Revert 'if(<constant>)'
if(NOT <variable|string>) # Revert 'if(NOT <variable|string>)'
Другие вопросы по тегам