Я добавлю немного к отличному ответу @Stanley F.
ИЗ корня проекта CLion, это то, что мне подходит.Я обычно работаю с отладочным профилем.То же самое можно воспроизвести для релиза.
Когда cmake загружает свой проект, он запускает
cmake -Bcmake-debug-build -H. ${CMakeOptions}
, где CMakeOptions хранится в CLion на
CLion->settings->Build,Execution, Deployment->CMake->[profile]->CMake Options
Мой общий cmakeопция сборки
-DCMAKE_BUILD_TYPE=debug -DSYTEM_ARCH=Linux-gcc5.3.0-x86_645 -CMAKE_CXX_STANDARD=14
[Обратите внимание на строчную букву d для 'debug'.Если я не использую это, моя система не будет работать.Мне бы хотелось, чтобы CLion не использовал по умолчанию «Debug»]
Итак, чтобы воспроизвести то, что CLion создает при перезагрузке проекта, я запускаю
rm -rf cmake-debug-build
cmake -Bcmake-debug-build -H. -DCMAKE_BUILD_TYPE=debug -DSYTEM_ARCH=Linux-gcc5.3.0-x86_645 -CMAKE_CXX_STANDARD=14
Затем, чтобы построить проект, я запускаю
cmake --build cmake-build-debug --target all
Обратите внимание, что когда я запускаю первую команду cmake (из CLion или из командной строки), cmake извлекает множество библиотек из других «прецедентных» проектов в рамках обработки моего файла CMakeLists.txt.,Если что-то в одном из этих прецедентных проектов изменится, я не буду извлекать их заново, если я физически не удалю весь каталог cmake-build-debug /.Ни один из пунктов меню инструмента сброса CLion из моего опыта не удалит этот файл.
Если я запускаю эти команды из меню CLion, то мне также нужно физически удалить каталог cmake-build-debug / (еслиУ меня есть изменения в одной из внешних библиотек, которые я хочу добавить).