2015-04-01 4 views
2

Я понимаю, что CMake позволяет легко создавать проект в различных средах компилятора/среды IDE. Я испытал это для себя и был поражен, когда CMake подготовил для меня работающий, пригодный для сборки проект Xcode из какого-то проекта с открытым исходным кодом (классный!)Рабочий процесс CMake Roundtrip

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

Например, я предвижу рабочий процесс, в котором проект должен быть переносимым через CMake. Поэтому я создаю клон проекта github, использую CMake для создания моего проекта XCode, а затем перейду к работе, выполняя некоторые новые функции или исправления ошибок. Возможно, эти изменения нетривиальны и влияют на сборку.

После завершения этих изменений я хочу вернуть базу кода обратно в github. Что происходит сейчас? Должны ли все файлы CMake обновляться вручную, чтобы отразить всю работу, которую я сделал? Или есть какая-то столь же волшебная функция для обновления файлов CMake с изменениями, которые были реализованы в XCode (или Visual Studio или какой-либо другой поддерживаемой компиляцией IDE/компилятора)?

Каков общий рабочий процесс «Roundtrip» с CMake и насколько он эффективен?

ответ

3

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

Вы должны внести все необходимые изменения в свои файлы cmake, и ваша программа сборки (make, ninja или любая другая) будет запускать cmake каждый раз при касании файлов проекта cmake.

Advanced примечания: если вы используете команду file с глобированием инструкции, чтобы получить список ваших исходников, вы можете быть заинтересованы, чтобы читать Getting cmake to run before building after pulling from git

Смежные вопросы