ROS Modules Build — различия между версиями
(не показана одна промежуточная версия этого же участника) | |||
Строка 1: | Строка 1: | ||
+ | Данная статья является переводом [http://reactos.org/wiki/Building_Modules официальной вики]. Последнее обновление 04-11-2017 | ||
+ | ---- | ||
+ | |||
=Сборка модулей= | =Сборка модулей= | ||
Строка 9: | Строка 12: | ||
*'''rosapps''' - Различные дополнительные приложения, например, экранные заставки, утилиты для разработчиков и прочие утилиты. | *'''rosapps''' - Различные дополнительные приложения, например, экранные заставки, утилиты для разработчиков и прочие утилиты. | ||
*'''rostests''' - Здесь находится наша среда для тестирования системы (тесты из Wine и тесты, созданные в рамках нашего проекта), включающая в себя также тесты для проверки API (как пользовательского режима, так и режима ядра), а также среду для проведения автоматического тестирования приложений (на основе AutoHotkey) | *'''rostests''' - Здесь находится наша среда для тестирования системы (тесты из Wine и тесты, созданные в рамках нашего проекта), включающая в себя также тесты для проверки API (как пользовательского режима, так и режима ядра), а также среду для проведения автоматического тестирования приложений (на основе AutoHotkey) | ||
− | *''' | + | *'''wallpapers''' - Несколько фоновых рисунков Рабочего стола ReactOS. |
==Скачивание модулей== | ==Скачивание модулей== | ||
Строка 43: | Строка 46: | ||
---- | ---- | ||
− | Если вам необходимо скачать модули '''rosapps''' или ''' | + | Если вам необходимо скачать модули '''rosapps''' или '''wallpapers''', просто создайте папку с названием '''rosapps''' или '''wallpapers''' внутри папки '''reactos/modules''' и введите следующие ссылки в поле адреса репозитория ("URL of repository"): |
*Rosapps: svn://svn.reactos.org/reactos/trunk/rosapps | *Rosapps: svn://svn.reactos.org/reactos/trunk/rosapps | ||
− | * | + | *Wallpapers: svn://svn.reactos.org/reactos/trunk/wallpapers |
==Список доступных ninja задач для сборки== | ==Список доступных ninja задач для сборки== | ||
Строка 83: | Строка 86: | ||
Система сборки читает содержимое файла directory.cmake и проверяет существование всех подпапок, перечисленных в этом файле. Если папка существует, Система сборки обрабатывает имеющийся в ней файл ''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}} | {{ReactOS}} | ||
[[Категория:Переводы официальной вики]] | [[Категория:Переводы официальной вики]] | ||
[[Категория:svn2git]] | [[Категория:svn2git]] |
Текущая версия на 18:01, 9 февраля 2021
Данная статья является переводом официальной вики. Последнее обновление 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 <аргументы>