Сводка
Я бы хотел, чтобы (булево) свойство не устанавливалось в CMake таким образом, чтобы get_property(... SET)
возвращало 0
, хотя свойство было установлено в первую очередь.Для свойства 0
, FALSE
или OFF
недостаточно.Как этого добиться?
Фон
У меня есть несколько пользовательских команд, которые генерируют некоторые исходные файлы.CMake автоматически присваивает им свойство исходного файла GENERATED
.Кажется, это заставляет генератор GNU Makefile добавить правило для удаления этих файлов с помощью make clean
.
Однако я не хочу, чтобы эти файлы очищались, потому что, как только они существуют, пользователь может их редактировать.Пользовательская команда должна убедиться, что они генерируются, только если они не существуют.Генерировать их во время настройки с помощью execute_process
вместо пользовательской команды невозможно.
Установка GENERATED
в 0
, FALSE
или OFF
не исключает источники из чистой.
Версии
- ОС: Ubuntu 16.04
- CMake: 3.5.1 (из репозитория Ubuntu 16.04)
Я сейчас нахожусьесли возможно, следует избегать привязки к Ubuntu 16.04 и заставить всех пользователей использовать более свежую версию CMake.