Как работать с коммитами из разных сред разработки?

0

Я решил преобразовать проект Visual Studio в CMake для разработки на нескольких платформах. Но мне интересно, как эффективно применять управление версиями к проекту CMake.

Скажем, из проекта CMake я создал проект Visual Studio в Windows и настроил файл make в Linux. Я не хочу включать эти файлы для конкретной платформы в коммиты. .gitignore ли исключать все эти файлы с помощью .gitignore?

Это то, что мне впервые пришло в голову, и я хотел бы знать, правильно ли это делается. Например, я мог бы также включать проекты для всех разных платформ в моем репозитории.

  • 5
    Еще лучше построить «из дерева». Создайте новый каталог, как подкаталог или как одноуровневый, и запустите cmake оттуда. Тогда все ваши файлы проекта остаются в стороне от вашего источника. Для большего удовольствия вы можете иметь несколько каталогов сборки для разных конфигураций.
  • 0
    @Peter Это интересные мысли, спасибо за это. Похоже, у вас есть опыт кроссплатформенной разработки. Не могли бы вы уточнить это или дать мне ресурсы для более глубокого изучения, пожалуйста?
Показать ещё 1 комментарий
Теги:
cmake
cross-platform
project

1 ответ

4
Лучший ответ

Да, если вы используете CMake в качестве базового файла проекта, непременно добавьте сгенерированные файлы в репозиторий. Они фактически бесполезны, как общая вещь, и часто очень специфичны для компьютера.

Как сказано в комментариях (by @Peter, который я бесстыдно копирует здесь для лучшей видимости), часто бывает неплохо строить за пределами вашего исходного дерева (в отличие от поведения Visual Studio по умолчанию). В основном, вы делаете (из исходного каталога)

cd ..
mkdir project-build && cd project-build
cmake ../project

Вы можете сказать CMake использовать определенный "генератор" с -G. Для получения подробной информации обратитесь к ее справки. Вы также можете сделать это через CMake GUI.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню