mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-22 06:06:50 +00:00
Page:
Source Engine (RU)
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Добро пожаловать на Source Engine вики!
Инструкция по сборке:
Linux:
Ubuntu 18.04 (bionic) / Debian 10 (buster)
Подготовка
- Установите
git
и склонируйте этот репозиторий с помощью командыgit clone --recursive --depth 1
. Ключ--recursive
склонирует и проинициализирует модули сразу при клонировании, а ключ--depth 1
склонирует только один последний известный коммит с ветки. - Добавьте архитектуру
i386
в dpkg при помощи командыdpkg --add-architecture i386
. - Установите также
build-essential gcc-multilib g++-multilib pkg-config ccache
.
Зависимости
libsdl2-dev:i386 libfreetype6-dev:i386 libfontconfig1-dev:i386 libopenal-dev:i386 libjpeg-dev:i386 libpng-dev:i386 libcurl4-gnutls-dev:i386 libbz2-dev:i386 libedit-dev:i386
для 64-битной системы.- Можно использовать также
libcurl4-openssl-dev
илиlibcurl4-nss-dev
вместоlibcurl4-gnutls-dev
.
OPUS
- Если вам требуется поддержка голосового чата, добавьте ключ
--enable-opus
в WAF и следуйте следущим инструкциям. - НЕ УСТАНАВЛИВАЙТЕ ПАКЕТ
libopus-dev
ИЗ РЕПОЗИТОРИЯ! Эта сборка opus не содержит включённой поддержки кастомных режимов!! - Склонируйте исходный код opus с помощью команды
git clone --recursive --depth 1 https://github.com/xiph/opus
и зайдите в него. - Выполните
sudo apt update; sudo apt install automake autoconf libtool
. export CFLAGS="-m32" CPPFLAGS="-m32"
для 64-битной системы, если вы собираете 32-битный движок.- После установки зависимостей выполните
./autogen.sh && ./configure --enable-custom-modes && make -j$(nproc) && sudo make install
. - Теперь вы можете продолжить сборку движка.
Arch Linux и Arch Linux подобные дистрибутивы
Зависимости
- Установите
git python gcc gcc-multilib sdl2 freetype2 fontconfig zlib bzip2 libjpeg libpng curl openal opus
. - Для 32-битной сборки установите
lib32-gcc-libs lib32-sdl2 lib32-freetype2 lib32-fontconfig lib32-zlib lib32-bzip2 lib32-libjpeg lib32-libpng lib32-curl lib32-openal lib32-opus
. - Следуйте общим инструкциям по сборке.
gen2
Windows
- Установите MSVC 15.9 и Windows SDK с помощью установщика Visual Studio. Или вы можете установить полную Visual Studio 2017 и использовать MSVC 15.9 оттуда.
- Установите Python 3 и добавьте его в Path.
- Сборка по какой-то причине работает только в PowerShell. Дальше следуйте общей иструкции по сборке.
OSX
Подготовка
- Установите Xcode из AppStore.
- Установите инструменты разработки Xcode с помощью команды
xcode-select --install
. - Установите HomeBrew.
Зависимости
- Выполните
brew install sdl2 freetype2 fontconfig pkg-config opus libpng libedit
- Следуйте общим инструкциям по сборке.
BSD
FreeBSD
Зависимости
- Выполните
pkg ins python sdl2 freetype2 fontconfig curl pkgconf openal-soft jpeg-turbo png
. - Следуйте общим инструкциям по сборке.
Общая иструкция по сборке (Все OS)
- Для использования системы сборки WAF вам требуется Python. Я рекомендую использовать {ython 3.
- Выболните
./waf configure -T BUILDMODE
, гдеBUILDMODE
этоrelease
илиdebug
. - На Windows вы должны использовать
.\waf.bat
или запускать скрипт waf таким образомpython3 waf
. - Если WAF говорит что-то вроде
/usr/bin/env: 'python': Нет такого файла или каталога
добавьтеpython3
префикс перед./waf
. - Если вы хотите собрать 64-битный движок тогда добавьте аргумент
-8
или--64bits
в WAF.
Выделенный сервер
- Просто добавьте флаг
-d
при конфигурации проекта.
Android (на Linux)
Подготовка
- Скачайте и распакуйте Android NDK r10e отсюда.
- Скачайте и распакуйте CLANG 11 или используйте CLANG из репозитория LLVM для APT-подобных дистрибутивов.
- Выполните
export ANDROID_NDK_HOME="PATH/TO/NDK/android-ndk-r10e"
иexport PATH="PATH/TO/CLANG/bin:$PATH"
илиexport PATH="/usr/lib/llvm-11/bin:$PATH"
если вы использовали скрипт llvm.sh. - Добавьте
--togles --android=armeabi-v7a-hard,host,21
в аргументы WAF.armeabi-v7a-hard
может быть изменён наaarch64
для сборки под 64-битный ARM, но тогда нужно добавить аргумент-8
или--64bits
.