Синтаксис CMake: как отменить if (<constant>) и if (<variable | string>)
Команда if CMake [1] поддерживает несколько подписей, начиная с
if(<constant>)
if(<variable|string>)
if(NOT <expression>)
Как отрицать первые два?
Если документация по CMake верна (что по моему опыту далеко не точно), то мой вопрос сводится к следующему:
Как преобразовать константу, переменную или строку X в выражение с дополнительным требованием, чтобы X оценивалось как логическое значение?
1 ответ
Решение
На самом деле, <expression>
это просто заполнитель для любого параметра, который может быть передан if
, Даже список возможных if
Конструкция называется "Возможные выражения".
if(NOT <constant>) # Revert 'if(<constant>)'
if(NOT <variable|string>) # Revert 'if(NOT <variable|string>)'