Выпуск сборочного инструментария qbs 1.8, развиваемого проектом Qt
Используемый в qbs язык сценариев адаптирован для автоматизации генерации и разбора сценариев сборки интегрированными средами разработки. Кроме того, qbs не генерирует make-файлы, а сам, без посредников, таких как утилита make, контролирует запуск компиляторов и компоновщиков, оптимизируя процесс сборки на основе детального графа всех зависимостей. Наличие изначальных данных о структуре и зависимостях в проекте позволяет эффективно распараллеливать выполнение операций в несколько потоков. Для крупных проектов, состоящих из большого числа файлов и поддиректорий, производительность повторной пересборки с использованием qbs может опережать make в разы - пересборка выполняется почти мгновенно и не заставляет разработчика тратить время на ожидание.
В новой версии:
- Добавлена начальная поддержка сборки приложений для ОС QNX. Поддерживаются следующие версии QNX SDK: SDP 6.5, SDP 6.6 и SDP 7.0;
- Обеспечена официальная поддержка сборки приложений для FreeBSD. Несмотря на то, что возможность сборки для FreeBSD была доступна изначально, ОС FreeBSD не была отмечена как целевая платформа. В новой версии проекты для которых указана платформа FreeBSD могут быть собраны без дополнительной настройки сборочного окружения;
- Улучшено обеспечение процесса сборки для Android, например, добавлена возможность использования Qbs при сборке для Android из среды разработки Qt Creator и учёта зависимостей для модулей Qt;
- Добавлен новый синтаксис "product.modulename.propertyname" для доступа к свойствам модулей из расширений на JavaScript. Например, вместо product.moduleProperty("cpp", "compilerFlags") теперь можно указать product.cpp.compilerFlags.
- Реализована поддержка свойств, доступных только для чтения. Попытка изменения значения свойств, которые определены с модификатором readonly, приведёт к генерации ошибки;
- Элементы Probe теперь допустимы в элементах Project, что позволяет логически структурировать проверки, не зависящие от контекста конкретного продукта;
- Функции loadFile() и loadExtension() заменены на вызов require() и будут объявлены устаревшими в одном из следующих выпусков;
- Обеспечена возможность запуска Qbs без профиля, реализуя новую стратегию сборки, основанную на автоматической настройке и проверках, вместо применения заранее определённых профилей. Например, запуск qbs из командной строки в случае отсутствия профиля по умолчанию или указании "profile:none" теперь автоматически выполнит сборку для текущей архитектуры, используя оптимальный инструментарий;
- Добавлена новая утилита qbs-create-project для автоматической генерации файлов с параметрами проекта на основе имеющейся структуры каталогов;
- В qbs-setup-toolchains добавлена поддержка Visual C++ Build Tools;
- В сообщениях об ошибках улучшен вывод информации о строке и позиции, в которой допущена ошибка;
- В PkgConfigProbe предоставлен высокоуровневый API для разбора флагов компилятора и компоновщика, выводимых pkg-config;
- Обеспечена возможность сборки qbs со статическим связыванием;
- Изменения нарушающие совместимость: В свойстве cpp.linkerFlags прекращена обработка экранированных значений. Все файлы, входящие в набор (bundle) на платформах Apple, теперь помечаются как bundle.content. Базовая директория для исходных файлов теперь указывает на родительский каталог файла, в котором размещён этот файл, а не базовую директорию исходных текстов продукта.
Источник: http://www.opennet.ru/opennews/art.shtml?num=46620
|
0 | Tweet | Нравится |
|