Теневая сборка

В Qt Creator есть возможность настроить каталог для сборки проекта, который будет находится не внутри самого проекта, а снаружи на одном уровне каталогов файловой системы, что и исходники проекта.

Это и будет каталог так называемой теневой сборки.

При теневой сборке вы можете указать разные каталоги для сборки релизной и дебаг версии. И они не будут мешать друг другу.

Мешать они могут друг другу потому, что там лежат файлы Make*****,  которые настраиваются с учётом релиза или дебага. То есть при переключении с релиза на дебаг или наоборот вам надо делать qmake и полную пересборку проекта, чтобы заменить Make**** файлы. Это если они внутри вашего проекта, так как там Make****файлы существуют в одном экземпляре.

Но если Make**** файлы релиза и дебага лежат по разным каталогам (сборки, это возможно при теневой сборке), то их заново можно не создавать и не надо пересобирать проект полностью заново.

Правда есть ещё нюанс, связанный с подменой каталога lib и include исходников qt. Смотрите здесь static и shared из одних исходников.

Примечательно, что есть отличие в количестве и наименовании вариаций подкаталогов сборки программы, а именно в теневой папке мы получаем в каталоге сборки два подкаталога соответственно:

debug,

release.

А при Не теневой сборке будет четыре варианта подкаталогов:

debug_shared,

release_shared,

debug_static,

release_static.

Но это так к слову, особого значения не имеет.

Таким образом при теневой (раздельной) сборке мы имеем возможность удобно собирать отдельно релизную и дебажную версию своего проекта. То есть не пересобирать с Qmake полностью, а просто собирать проект после внесения небольших изменений в него, что значительно экономит время.

Как это все настраивается можно посмотреть здесь configure.exe практическое использование.