2 Source Engine (RU)
nillerusr edited this page 2023-01-25 21:51:52 +03:00
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.