Выпуск сборочного инструментария qbs 1.3.0, развиваемого проектом Qt
Увидел свет релиз развиваемого проектом Qt сборочного инструментария qbs 1.3.0 (Qt Build Suite). Qbs использует упрощённый вариант языка QML для определения сценариев сборки проекта, что позволяет определять достаточно гибкие правила сборки, в которых могут подключаться внешние модули, использоваться функции на JavaScript и создаваться произвольные правила сборки. В отличие от qmake, qbs не привязан к Qt и изначально рассчитан на организацию сборки любых проектов. Используемый в qbs язык сценариев адаптирован для автоматизации генерации и разбора сценариев сборки интегрированными средами разработки. Кроме того, qbs не генерирует make-файлы, а сам без посредников, таких как утилита make, контролирует запуск компиляторов и компоновщиков, оптимизируя процесс сборки на основе детального графа всех зависимостей. Наличие изначальных данных о структуре и зависимостях в проекте позволяет эффективно распараллеливать выполнение операций в несколько потоков. Для крупных проектов, состоящих из большого числа файлов и поддиректорий, производительность повторной пересборки с использованием qbs может опережать make в разы — пересборка выполняется почти мгновенно и не заставляет разработчика тратить время на ожидание.
В новой версии существенно улучшена интеграция с интегрированной средой разработки Qt Creator. Обеспечена возможность добавления/удаления файлов с исходным кодом в продукты qbs через штатное дерево проекта, по аналогии с работой с проектами на базе qmake. Перезагрузка проекта теперь осуществляется заметно быстрее и выполняется только при наличии реальной необходимости. Например, ускорение заметно в случаях, когда файл был изменён без нарушения семантики (добавлены пробелы). Из изменений в языке сценариев отмечается возможность установки разных профилей для определённых продуктов, например, для генерации разных исполняемых файлов для разных платформ. Проведена работа по снижению потребления памяти во время работы сборочного инструментария.
© OpenNet