ROS Modules Build

Материал из Русский WINE
Перейти к: навигация, поиск

Данная статья является переводом официальной вики. Последнее обновление 04-11-2017


Сборка модулей

На SVN-сервере ReactOS имеется множество приложений, тестов, и дополнительных подсистем. Большинство из них не включены в сборку по умолчанию, проскольку при проведении разработки и тестирования системы непосредственная необходимость в них отсутствует.

Имеющиеся модули

На данный момент в нашем SVN имеются следующие модули:

  • rosapps - Различные дополнительные приложения, например, экранные заставки, утилиты для разработчиков и прочие утилиты.
  • rostests - Здесь находится наша среда для тестирования системы (тесты из Wine и тесты, созданные в рамках нашего проекта), включающая в себя также тесты для проверки API (как пользовательского режима, так и режима ядра), а также среду для проведения автоматического тестирования приложений (на основе AutoHotkey)
  • wallpapers - Несколько фоновых рисунков Рабочего стола ReactOS.

Скачивание модулей

В нижеприведённом примере поясняется процесс скачивания модуля "rostests". Если вам необходимо скачать какой-либо другой модуль, то действуйте по аналогии с этим примером.

Шаг 1

Перейдите в папку reactos\modules (если вы пользуетесь Windows) или reactos/modules (если вы используете Unix)

Mods build1.png

Шаг 2

Поскольку мы хотим скачать модуль "rostests", то создайте папку с именем rostests.

Шаг 3

Щелкните правой кнопкой по этой папке и выберите в меню пункт "SVN Checkout.."

Mods build2.png

Шаг 4

В поле "URL of repository" ("Адрес репозитория") для модуля "rostest" необходимо ввести: svn://svn.reactos.org/reactos/trunk/rostests

Mods build3.png

Шаг 5

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


Если вам необходимо скачать модули rosapps или wallpapers, просто создайте папку с названием rosapps или wallpapers внутри папки reactos/modules и введите следующие ссылки в поле адреса репозитория ("URL of repository"):

Список доступных ninja задач для сборки

Для получения списка доступных для сборки задач выполните:

ninja -t targets

или:

ninja -t targets >target_list

Выбор нужной задачи для очистки или сборки:

ninja <target1>_clean
ninja <target1>

Удаление или обновление модуля

Недостаточно просто удалить папку с модулем после того, как CMake начнёт её использовать, необходимо ещё отдать ему команду на переконфигурацию.

В разных системах сборки могут быть разные команды на переконфигурацию, например:

Для системы сборки на основе ninja выполните:

ninja rebuild_cache

Для других систем сборки используйте:

nmake rebuild_cache

или

make rebuild_cache

Техническая информация

В зависимости от того, пользуетесь вы UNIX или Windows, в папке reactos/modules или reactos\modules имеется файл с названием directory.cmake.

Система сборки читает содержимое файла directory.cmake и проверяет существование всех подпапок, перечисленных в этом файле. Если папка существует, Система сборки обрабатывает имеющийся в ней файл directory.cmake. Именно так папка и интегрируется в процесс сборки.

Пример сборки rosapps

C:\reactos> configure.cmd -DENABLE_ROSAPPS=1
C:\reactos\output-MinGW-i386> ninja <аргументы>

Либо, если конфигурация уже выполнена:

C:\reactos\output-MinGW-i386> cmake . -DENABLE_ROSAPPS=1
C:\reactos\output-MinGW-i386> ninja <аргументы>
ReactOS
Search.png
Доклады
О ReactOS • ARWINSS • ЧеЗа
Информация Новости Выпуски новостей • Переводы блогов • Новости проекта • Видео • ReactOS на Хабре • USB от Вадима Галянта
Разработка Руководство по программированию • Отсутствующая функциональность • Ветви разработки • Компоненты системы • ReactOS и Wine • План работ • Roadmap ядра by Vgal • Разработчики • Совместимость с dll Windows • Наиболее значимые изменения за год • Используемые проекты • Google Summer of Code • Известные проблемы
Порты AMD64 • ARM • Xbox • PowerPC
Компоненты Файловые системы • Режим совместимости • Отчеты об ошибках • Печать • USB • Ядро
Загрузчик Восстановление MBR • Загрузка из GRUB • Параметры загрузки
Прочее ARWINSS • Приложения в ReactOS • Оформление ReactOS • Координаторы • "Пасхальные яйца" • Монетизация
Другое Типы ядер • FreeWin95
Помощь
RAM-диск ReactOS по PXE • с жесткого диска
Разработка Стиль написания кода • Стандарты RC-файлов • Работа с документацией • Венгерская нотация • GNU Indent • [ Subversion : ветви • слияние • использование TortoiseSVN ] • Основы перевода • Отправка патчей
Репорты Отладка в VirtualBox • Отладка на экран • Добавление программы в менеджер приложений • Отправка отчетов
Отладка Com0com • GDB • Kdbg • Rossym.gdb • Roswin.gdb • WinDBG • Руководство по WinDBG • Включение трассировки ядра • Коды DPRINT • Удалённый отладчик ReactOS
Сборка CMake • RBuild • Файлы RBuild • Автоматическое копирование файлов • Сборка MINGW-w64 • Сборка модулей • Среда сборки
Тестирование VirtualBox • VMware • QEMU • Hyper-V • Необходимый объём диска • Перенос файлов на виртуальный диск • Установка ReactOS • Установка драйверов
Сеть Общие папки • Samba • NFS
Игры Установка DirectPlay
Обновление ReactOS • Загрузочная флешка • Чем можно помочь проекту • Создание нового пользователя • Звук и сеть в VirtualBox • Съемка и публикация видео • IRC-канал • Сторонние компоненты • FAQ • ReactOS как рабочая станция • ReactOS и UEFI
Обзоры Оболочка • NTVDM • WOW • Community Edition • История сайта • ReactOS Server • Криптография • ПО времен XP