ROS Modules Build
Данная статья является переводом официальной вики. Последнее обновление 04-11-2017
Содержание
Сборка модулей
На SVN-сервере ReactOS имеется множество приложений, тестов, и дополнительных подсистем. Большинство из них не включены в сборку по умолчанию, проскольку при проведении разработки и тестирования системы непосредственная необходимость в них отсутствует.
Имеющиеся модули
На данный момент в нашем SVN имеются следующие модули:
- rosapps - Различные дополнительные приложения, например, экранные заставки, утилиты для разработчиков и прочие утилиты.
- rostests - Здесь находится наша среда для тестирования системы (тесты из Wine и тесты, созданные в рамках нашего проекта), включающая в себя также тесты для проверки API (как пользовательского режима, так и режима ядра), а также среду для проведения автоматического тестирования приложений (на основе AutoHotkey)
- wallpapers - Несколько фоновых рисунков Рабочего стола ReactOS.
Скачивание модулей
В нижеприведённом примере поясняется процесс скачивания модуля "rostests". Если вам необходимо скачать какой-либо другой модуль, то действуйте по аналогии с этим примером.
Шаг 1
Перейдите в папку reactos\modules (если вы пользуетесь Windows) или reactos/modules (если вы используете Unix)
Шаг 2
Поскольку мы хотим скачать модуль "rostests", то создайте папку с именем rostests.
Шаг 3
Щелкните правой кнопкой по этой папке и выберите в меню пункт "SVN Checkout.."
Шаг 4
В поле "URL of repository" ("Адрес репозитория") для модуля "rostest" необходимо ввести: svn://svn.reactos.org/reactos/trunk/rostests
Шаг 5
Нажмите OK. Клиент приступит к скачиванию необходимых файлов. Теперь просто скомпилируйте код также, как вы обычно это делаете, и модули будут интегрированы в получившийся образ диска (файл ISO).
Если вам необходимо скачать модули rosapps или wallpapers, просто создайте папку с названием rosapps или wallpapers внутри папки reactos/modules и введите следующие ссылки в поле адреса репозитория ("URL of repository"):
- Rosapps: svn://svn.reactos.org/reactos/trunk/rosapps
- Wallpapers: svn://svn.reactos.org/reactos/trunk/wallpapers
Список доступных 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 <аргументы>