2015-01-18 4 views
0

Я собираюсь создать проект на основе CMake для eclipse CDT и импортировать его в eclipse.Управление проектом CMake после генерации для Eclipse

Теперь, когда я добавляю новые источники/заголовочные файлы, как сообщить CMakeLists.txt, что новый файл был добавлен?
A. Должен ли я вручную добавлять запись в CMakeLists.txt каждый раз, чтобы сохранить актуальность?

B. Есть ли подключаемый модуль, который может сделать это автоматически?

C. Должен ли я не делать это часто, но делать это иногда, когда мне нужно поделиться своим проектом с другими членами команды?

Благодаря любому указывая мне на лучшие практики ...

ответ

0

CMakeLists.txt является основным источником информации о конфигурации. Изменение сгенерированных файлов проекта (для любого IDE/редактора) не имеет смысла. Вы даже не должны иметь их в своем VCS - считайте их build artefacts. Я никогда не использовал Eclipse, но предполагаю, что он должен регенерировать проекты после ваших изменений до CMakeLists.txt, затем Eclipse должен перезагрузить их и продолжить сборку.

Также мне не нравится, что какой-либо плагин или сама IDE автоматически изменят мой CMakeLists.txt. За исключением сложности реализации этой операции существует высокая вероятность того, что IDE сломает что-то в нем. Как мне всегда лучше (и на самом деле не так сложно) изменить его вручную.

0

A. Должен ли я вручную добавлять запись в CMakeLists.txt каждый раз, чтобы сохранить актуальность?

Один из способов заключается в использовании глобирование указать исходные файлы:

file(GLOB_RECURSE MY_SRCS src/*.cpp) 

означает, что вы не должны указывать новые исходные файлы, каждый раз; вместо этого вы говорите: «любой файл в этой папке является частью проекта»

B. Есть ли подключаемый модуль, который может сделать это автоматически?

Я не знаю, но похоже, что не было бы; как сказал @zaufi, это потребовало бы что-то для поддержки файла CMakelists.txt автоматически, что кажется беспорядочной проблемой. Однако есть Eclipse plugins, что должно облегчить обслуживание файла. CMakeEd обеспечивает подсветку синтаксиса, а CMakeBuilder предоставляет gui для настройки различных параметров CMake.

C. Должен ли я не делать это часто, но делать это иногда, когда мне нужно поделиться своим проектом с другими членами команды?

Опять же, с помощью Globbing вы можете удалить файлы в папке и запустить CMake еще раз. Вам больше не нужно указывать опцию -G, так как новые файлы должны отображаться автоматически в eclipse. Как сказал @zaufi, вам вообще не нужно делиться файлами .project и .cproject с членами команды. Вместо этого они могут создавать свои собственные из CMake.

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