Документация
ОС Аврора 4.0.2

Конфигурация проекта с Ninja

Ninja — это быстрый и эффективный инструмент сборки, который используется для сборки проектов программного обеспечения. Он заменяет устаревшие и медленные системы сборки, такие как make или CMake. Ninja обеспечивает простой и минималистичный язык описания сборки, что делает его легким в использовании и позволяет быстро выполнять сборку проекта.

Конфигурация проекта с ninja включает определение целей сборки, задание зависимостей между файлами и определение команд, которые нужно выполнить для сборки каждой цели. На основе этой конфигурации ninja генерирует файл сборки (обычно с расширением .ninja), который затем используется для запуска сборки проекта.

Сборка проектов с использованием инструмента Ninja предоставляет различные способы, которые обеспечивают гибкость и удобство в разработке и сборке программного обеспечения.

Конфигурация проекта при использовании CMake

Конфигурация проекта с ninja может быть осуществлена вручную, но часто используются высокоуровневые инструменты, такие как CMake, которые автоматически генерируют конфигурацию с ninja на основе заданных параметров проекта. Для этого нужно вносить следующие правки в spec-файл:

  • В spec файле, система сборки будет проверять наличие пакета "ninja" на хост-системе во время сборки пакета. Поэтому необходимо добавить строчку:

    BuildRequires:  ninja
    
  • Также в зависимости сборки рекомендуется добавить cmake:

    BuildRequires: cmake
    
  • В разделе %build нужно указать инструкции, необходимые для компиляции и сборки пакета с ninja:

    %build
    %cmake -GNinja
    %ninja_build
    
  • В разделе %install настройки, которые определяют процедуру установки пакета для сборки, нужно также изменить на ninja:

    %install
    %make_install
    %ninja_install
    

Пример spec-файла для приложения MimeHandler:

Name:       ru.auroraos.MIMEHandler
Summary:    An application that demonstrates how to create and register your own MIME type handler
Version:    0.1
Release:    1
License:    BSD-3-Clause
URL:        https://auroraos.ru
Source0:    %{name}-%{version}.tar.bz2

Requires:   sailfishsilica-qt5 >= 0.10.9
Requires:   amberpdf-qml-plugin
BuildRequires:  pkgconfig(auroraapp)
BuildRequires:  pkgconfig(Qt5Core)
BuildRequires:  pkgconfig(Qt5DBus)
BuildRequires:  pkgconfig(Qt5Qml)
BuildRequires:  pkgconfig(Qt5Quick)
BuildRequires:  cmake
BuildRequires:  amberpdf
BuildRequires:  ninja

%description
Приложение, демонстрирующее, как создать и зарегистрировать собственный обработчик типа MIME.

%prep
%autosetup

%build
%cmake -GNinja
%ninja_build

%install
%ninja_install

%files
%defattr(-,root,root,-)
%{_bindir}/%{name}
%defattr(644,root,root,-)
%{_datadir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/*/apps/%{name}.png

Пример .spec файла для приложения TabViewDemo.

Сборка через mb2

Сборка пакетов с использованием скрипта mb2 вызывается из Build Engine. Для сборки необходимо выполнить следующие шаги:

  1. С помощью интерфейса командной строки необходимо авторизоваться в среде сборки.

    ~/AuroraOS/bin/sfdk engine exec
    
  2. Далее необходимо выполнить команду для среды сборки проекта с помощью mb2:

    mb2 -s [путь к *.spec] -t [цель] build
    

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.