Доступен сборочный инструментарий Qbs 1.11, развиваемый проектом Qt

29 марта 2018 года

Сформирован релиз развиваемого проектом Qt сборочного инструментария Qbs 1.11 (Qt Build Suite), который заменит qmake в Qt 6. В отличие от qmake, Qbs не привязан к Qt и изначально рассчитан на организацию сборки любых проектов. Qbs использует упрощённый вариант языка QML для определения сценариев сборки проекта, что позволяет определять достаточно гибкие правила сборки, в которых могут подключаться внешние модули, использоваться функции на JavaScript и создаваться произвольные правила сборки.

Используемый в Qbs язык сценариев адаптирован для автоматизации генерации и разбора сценариев сборки интегрированными средами разработки. Кроме того, Qbs не генерирует make-файлы, а сам, без посредников, таких как утилита make, контролирует запуск компиляторов и компоновщиков, оптимизируя процесс сборки на основе детального графа всех зависимостей. Наличие изначальных данных о структуре и зависимостях в проекте позволяет эффективно распараллеливать выполнение операций в несколько потоков. Для крупных проектов, состоящих из большого числа файлов и поддиректорий, производительность повторной пересборки с использованием Qbs может опережать make в разы - пересборка выполняется почти мгновенно и не заставляет разработчика тратить время на ожидание.

В новой версии:

  • В дополнение к свойствам qbs.targetOS и qbs.toolchain, в которых используются списки, предложены аналогичные скалярные свойства qbs.targetPlatform и qbs.toolchainType, которые проще использовать для задания целевой платформы из командной строки и в профилях;
  • В модулях обеспечена возможность определения собственных настроек целевых платформ при помощи нового свойства filesAreTargets для элемента Group;
  • В дополнение к TextFile добавлен сервис BinaryFile для чтения и записи бинарных файлов;
  • Добавлено свойство cpp.rpathOrigin, через которое можно получить значение @loader_path в Darwin и $ORIGIN в других Unix-подобных платформах;
  • Добавлено свойство cpp.driverLinkerFlags, предоставляющее возможность определения флагов, которые будут переданы фронтэнду компилятора только при компоновке.
  • В качестве версии языка С++ (cpp.cxxLanguageVersion) теперь можно указывать значение "c++17";
  • Механизм автоопределения GCC-подобных компиляторов теперь учитывает типовые для MinGW префиксы (т.е. корректно определяет файлы типа i686-w64-mingw32-gcc);
  • Для задания имён файлов конфигурации предложен новый ключ "config" и возможность передавать аргументы в форме "ключ:значение". Например для сборки проекта для двух конфигураций debug и release можно запустить "qbs config:debug config:release";
  • Функциональность "run", используемая в одноимённой команде, теперь

учитывает необходимые для заданного исполняемого файла библиотеки и добавляет пути к ним в переменные окружения (LD_LIBRARY_PATH в Unix, DYLD_LIBRARY_PATH/DYLD_FRAMEWORK_PATH в macOS и PATH в Windows).

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Доступен сборочный инструментарий Qbs 1.11, развиваемый проектом Qt», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.