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
Доклады
О ReactOSARWINSSЧеЗа
Информация Новости Выпуски новостейПереводы блоговНовости проектаВидеоReactOS на ХабреUSB от Вадима Галянта
Разработка Руководство по программированиюОтсутствующая функциональностьВетви разработкиКомпоненты системыReactOS и WineПлан работRoadmap ядра by VgalРазработчикиСовместимость с dll WindowsНаиболее значимые изменения за годИспользуемые проектыGoogle Summer of CodeИзвестные проблемы
Порты AMD64ARMXboxPowerPC
Компоненты Файловые системыРежим совместимостиОтчеты об ошибкахПечатьUSBЯдро
Загрузчик Восстановление MBRЗагрузка из GRUBПараметры загрузки
Прочее ARWINSSПриложения в ReactOSОформление ReactOSКоординаторы"Пасхальные яйца"Монетизация
Другое Типы ядерFreeWin95
Помощь
RAM-диск ReactOS по PXEс жесткого диска
Разработка Стиль написания кодаСтандарты RC-файловРабота с документациейВенгерская нотацияGNU Indent • [ Subversion : ветвислияниеиспользование TortoiseSVN ] • Основы переводаОтправка патчей
Репорты Отладка в VirtualBoxОтладка на экранДобавление программы в менеджер приложенийОтправка отчетов
Отладка Com0comGDBKdbgRossym.gdbRoswin.gdbWinDBGРуководство по WinDBGВключение трассировки ядраКоды DPRINTУдалённый отладчик ReactOS
Сборка CMakeRBuildФайлы RBuildАвтоматическое копирование файловСборка MINGW-w64Сборка модулейСреда сборки
Тестирование VirtualBoxVMwareQEMUHyper-VНеобходимый объём дискаПеренос файлов на виртуальный дискУстановка ReactOSУстановка драйверов
Сеть Общие папкиSambaNFS
Игры Установка DirectPlay
Обновление ReactOSЗагрузочная флешкаЧем можно помочь проектуСоздание нового пользователяЗвук и сеть в VirtualBoxСъемка и публикация видеоIRC-каналСторонние компонентыFAQReactOS как рабочая станцияReactOS и UEFI
Обзоры ОболочкаNTVDMWOWCommunity EditionИстория сайтаReactOS ServerКриптографияПО времен XP