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