Как в CLion установить значения параметров CMakeLists.txt?

Я пытаюсь использовать CLion (последняя версия — 2019.3) для работы с моим исходным репозиторием, который уже использует CMake (т.е. имеет CMakeLists.txt). Теперь у пакета есть несколько опций относительно того, какие цели строить; по умолчанию он строит всего несколько, но если вы установите опцию ON, то будет скомпилирована и построена куча тестов.

К сожалению, я не совсем понимаю, где CLion позволяет вам устанавливать значения параметров CMake для создаваемых им подкаталогов сборки. Это действительно навязывает вам значения по умолчанию, или я что-то упустил в основном пользовательском интерфейсе или настройках?


person einpoklum    schedule 13.02.2020    source источник
comment
Что не так с добавлением параметров -D в поле параметров CMake?   -  person Tsyvarev    schedule 14.02.2020
comment
@Tsyvarev: Я полагаю, это может сработать, если я принудительно переконфигурирую.   -  person einpoklum    schedule 14.02.2020
comment
CLion автоматически перенастроит проект, как только вы измените любой из параметров, связанных с cmake.   -  person triclosan    schedule 14.02.2020
comment
Меня это тоже очень интересует. Очень расстраивает, что мне нужно изменить CMakeLists.txt, чтобы включить ту или иную опцию. Еще хуже: вам нужно дополнительно сбрасывать кеш и перезагружать проект каждый раз, когда вы устанавливаете опцию ON/OFF.   -  person a_girl    schedule 20.05.2020
comment
@a_girl: Смотри мой ответ.   -  person einpoklum    schedule 20.05.2020
comment
@einpoklum Похоже, вы являетесь создателем тега [cmakelists-options]. Мета была открыта для записи тега. Возможно, вы захотите взвесить, если хотите сохранить его.   -  person Machavity♦    schedule 09.06.2020


Ответы (1)


На данный момент нет пользовательского интерфейса для установки значений параметров; вам нужно запустить ccmake или вручную отредактировать CMakeCache.txt. Я отправил сообщение об ошибке CPP-20268 по этому поводу.

Разработчики CLion планируют разрешить это с помощью механизма редактирования всего кеша CMake — подход, который я не одобряю, но я полагаю, что это будет лучше, чем ничего. Это проблема CPP-423.

person einpoklum    schedule 19.05.2020
comment
Приятно слышать, что они планируют добавить это как функцию. - person a_girl; 20.05.2020
comment
@a_girl: Они планировали это уже 6 лет, и до сих пор этого не произошло. - person einpoklum; 20.05.2020