LINUX.ORG.RU

Системы сборки


0

2

Всем привет!

На фоне выхода новой версии qbs, решил задать вопрос.

Есть большое дерево исходников. Каждый лист дерева — проект с pro-файлом или файлом проекта msvc. Некоторые проекты зависят друг от друга. Необходимо, чтобы работало три вещи:

  • Все это можно было собрать одной командой (`make`);
  • Каждый проект можно собрать одной командой (`make project_name`);
  • С каждым проектом можно полноценно работать с помощью msvc.

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

Проблема в том, что, по понятным причинам, все это работает очень медленно при обновлении pro-файлов.

Нет ли других более прогрессивных способов решить эту проблему?

Я почитал про Scons, но так и не понял, поддерживает ли он полноценную генерацию *.vcproj.

Будет ли он работать быстрее, чем система на pro-файлах?


Я почитал про Scons

Не читай всякую гадость. И вообще, на винфак.

anonymous
()

попробуй waf ninja tup

С каждым проектом можно полноценно работать с помощью msvc.

попробуй генерировать проекты .sln/.vcproj через premake. кстати, annulen писал qmake плагин для premake

Проблема в том, что, по понятным причинам, все это работает очень медленно при обновлении pro-файлов.

что именно «работает очень медленно»? генерация qmake=>make? qmake=>sln? сборка через make? сборка через msbuild?

ninja (google://ninja build tool) и tup сильно быстрее обычного make. если тормозит make, то это можно ускорить.

если тормозит qmake, хотя и не должен, возможно premake будет быстрее.

при обновлении pro-файлов.

как именно они обновляются? изменяются старые или добавляются новые проекты? может, имеет смысл вынести в include общую для всех проектов часть?

anonymous
()

cmake умеет генерировать проекты добростудии.

Я использую waf, который под оффтопиком умеет встраивать себя в добростудию, заменяя собой её добросборщик. При этом даже completion работает, что интересно.

dmfd
()
Ответ на: комментарий от I-Love-Microsoft

visual studio.

обратно ведь не затолкаешь в CMake инфу что файл добавили

Через окошечки в настройках проекта? Конечно не затолкаешь, и слава б-гу.

dmfd
()
Ответ на: комментарий от anonymous

annulen писал qmake плагин для premake

Только не qmake, а Qt.

annulen ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.