CMake ~ Управление проектами | Синхронизация обновлений

Я некоторое время смотрю на CMake, и мне очень нравится идея иметь код, не загромождая файлы проектов нескольких IDE. Есть только одна вещь, которую я не понимаю:

У вас есть проект с файлами CMake, и каждый разработчик создает из него свой собственный проект для своей любимой среды IDE. Но как вам снова слить эти вещи обратно в общую (CMake) папку проекта? Или вам нужно вручную каждый раз снова синхронизировать измененные файлы, снова копируя их в общую папку проекта?

Я надеюсь, что вы, ребята, можете помочь мне решить эту проблему!

1

Решение

Сгенерированные файлы проекта являются артефактами сборки, как и объектные файлы. Они не переносимы на другие системы и никогда не должны изменяться вручную или регистрироваться в системе контроля версий. Вместо этого отметьте CMakeLists.txt файл. Обратите внимание, что эти сгенерированные файлы проекта ссылаются непосредственно на исходные файлы и могут использоваться не только для создания, но и для редактирования исходных файлов.

Изменения в проекте вносятся непосредственно в CMakeLists.txt (например, добавление нового файла или ссылка на новую библиотеку). Если изменения необходимы для поддержки определенной среды разработки, вы должны их тщательно продумать и проверить, чтобы убедиться, что вы не нарушили сборку в чужой среде. Например, IF(WIN32) или же IF(UNIX) позволяет основные условия по типу системы. Многие другие возможны в зависимости от инструмента сборки, архитектуры системы, наличия или отсутствия библиотек или других файлов и т. Д.

Настоятельно рекомендуется создавать «вне источника», чтобы артефакты сборки (включая сгенерированные файлы проекта) вообще не касались дерева исходного кода. Это обеспечивает чистоту программного обеспечения управления исходным кодом и позволяет создавать несколько сборок для нескольких компиляторов из одного источника.

5

Другие решения