Я решил преобразовать проект Visual Studio в CMake для разработки на нескольких платформах. Но мне интересно, как эффективно применять управление версиями к проекту CMake.
Скажем, из проекта CMake я создал проект Visual Studio в Windows и настроил файл make в Linux. Я не хочу включать эти файлы для конкретной платформы в коммиты. .gitignore
ли исключать все эти файлы с помощью .gitignore
?
Это то, что мне впервые пришло в голову, и я хотел бы знать, правильно ли это делается. Например, я мог бы также включать проекты для всех разных платформ в моем репозитории.
Да, если вы используете CMake в качестве базового файла проекта, непременно добавьте сгенерированные файлы в репозиторий. Они фактически бесполезны, как общая вещь, и часто очень специфичны для компьютера.
Как сказано в комментариях (by @Peter, который я бесстыдно копирует здесь для лучшей видимости), часто бывает неплохо строить за пределами вашего исходного дерева (в отличие от поведения Visual Studio по умолчанию). В основном, вы делаете (из исходного каталога)
cd ..
mkdir project-build && cd project-build
cmake ../project
Вы можете сказать CMake использовать определенный "генератор" с -G
. Для получения подробной информации обратитесь к ее справки. Вы также можете сделать это через CMake GUI.