Единственное соглашение, которое мы настоятельно рекомендуем, - это делать сборки «вне исходного кода», где каталог сборки содержит ВСЕ продукты сборки и полностью отделен от дерева исходных текстов, обычно источником и сборкой являются братья и сестры:
projects
proj1-build-x86
proj1-build-x64
proj1-src
Двумя основными причинами, по которым мы всегда рекомендуем эту стратегию, являются (1) чистота дерева исходных кодов от продуктов сборки, поэтому легко узнать, что изменилось со времени вашего последнего обновления из системы управления версиями, и (2), чтобыу вас может быть несколько деревьев сборки для любого данного дерева исходных текстов, и вы не должны беспокоиться о продуктах сборки и / или настройках одного из них, мешающих другому.
Я недавно заметил, что проект, над которым я работал, непреднамеренно сгенерировал некоторый питонфайлы в исходном дереве.Однако я заметил это, только когда попытался собрать сборки x86 и x64 одновременно в разных деревьях сборки ... и внезапно в сгенерированных файлах python были дублированы и смешаны некоторые строки.Изменил его для генерации в дерево сборки, и все было хорошо.
Это все только часть хорошей практики CMake, и не строго соблюдается ничем, кроме здравого смысла и дисциплины умных людей.запуск этих проектов ...