Skip to content
yurii.levchenko edited this page Mar 17, 2026 · 1 revision

Platforms

Mengine поддерживает широкий набор целевых платформ, рендер-бекендов и тулчейнов.


Целевые платформы

Платформа CMake-определение Платформ-слой Приложение
Windows 32-bit MENGINE_TARGET_WINDOWS Win32Platform Win32Application
Windows 64-bit MENGINE_TARGET_WINDOWS Win32Platform Win32Application
macOS MENGINE_TARGET_MACOS
iOS MENGINE_TARGET_IOS iOSPlatform iOSApplication
iOS Simulator MENGINE_TARGET_IOS_SIMULATOR iOSPlatform iOSApplication
Android MENGINE_TARGET_ANDROID AndroidPlatform AndroidApplication
Xbox GDK GDKPlatform GDKApplication
UWP MENGINE_TARGET_UWP
Linux / Unix MENGINE_TARGET_UNIX
Web (Emscripten) MENGINE_TARGET_EMSCRIPTEN
SDL2 (кроссплатформ.) MENGINE_PLATFORM_SDL2 SDL2Platform SDL2Application
SDL3 (кроссплатформ.) MENGINE_PLATFORM_SDL3 SDL3Platform SDL3Application

Рендер-бекенды

Бекенд CMake-определение Описание
DirectX 9 MENGINE_RENDER_DIRECTX9 Рендер по умолчанию для Windows
DirectX 11 MENGINE_RENDER_DIRECTX11 Современный рендер для Windows
OpenGL MENGINE_RENDER_OPENGL Кроссплатформенный рендер
Mockup Тестовый рендер без вывода

Аудио-бекенды

Бекенд Описание
OpenAL-Soft Кроссплатформенный звуковой движок
Silent Беззвучный бекенд для тестирования

Тулчейны

Тулчейн CMake-определение Платформы
MSVC MENGINE_TOOLCHAIN_MSVC Windows (VS 15, 16, 17, 18)
MinGW MENGINE_TOOLCHAIN_MINGW Windows (GCC)
Xcode MENGINE_TOOLCHAIN_XCODE macOS, iOS
GCC MENGINE_TOOLCHAIN_GCC Linux, Unix
Gradle MENGINE_TOOLCHAIN_GRADLE Android
Emscripten MENGINE_TOOLCHAIN_EMSCRIPTEN Web / WebAssembly

Архитектуры

Архитектура CMake-определение
x86 (32-bit) MENGINE_ARCHITECTURE_X86
x64 (64-bit) MENGINE_ARCHITECTURE_X64
ARM 32-bit MENGINE_ARCHITECTURE_ARM
ARM 64-bit (AArch64) MENGINE_ARCHITECTURE_AARCH64

Для Android поддерживаются ABI: x86, x86_64, armeabi-v7a, arm64-v8a.


Платформозависимые системы

Для каждой платформы реализованы абстракции:

Файловая система

  • Win32FileSystem — Windows API
  • AndroidFileSystem — Android Asset Manager
  • AppleFileSystem — Apple Foundation
  • SDL2FileSystem / SDL3FileSystem — SDL I/O

Потоки

  • Win32ThreadSystem — Windows threads
  • POSIXThreadSystem — POSIX pthreads
  • SDL2ThreadSystem / SDL3ThreadSystem — SDL threads

HTTP

  • Win32HttpSystem — WinHTTP
  • AndroidHttpSystem — Android HttpURLConnection
  • AppleHttpSystem — NSURLSession

Криптография

  • Win32CryptographySystem — Windows CryptoAPI
  • AndroidCryptographySystem — Android KeyStore
  • AppleCryptographySystem — Apple Security Framework
  • UWPCryptographySystem — UWP Crypto API

Дата/время

  • Win32DateTimeSystem / Win32TimeSystem — Windows API
  • POSIXDateTimeSystem / POSIXTimeSystem — POSIX time

Аллокаторы

  • Win32AllocatorSystem — Windows heap
  • POSIXAllocatorSystem — POSIX malloc
  • DebugAllocatorSystem — отладочный аллокатор

Окружения (Environment)

Дополнительный платформозависимый код в src/Environment/:

Директория Назначение
Android Вспомогательный код для Android JNI
Apple Общий код для Apple-платформ
iOS Специфика iOS
MacOS Специфика macOS
Windows Общий код для Windows
DirectX9 Хелперы DirectX 9
DirectX11 Хелперы DirectX 11
OpenGL Хелперы OpenGL
GDK Хелперы Xbox GDK
Python Интеграция с Python
SDL2 / SDL3 Хелперы SDL
UWP Хелперы UWP

См. также

  • Getting Started — инструкции по сборке
  • Systems — подробное описание системных реализаций
  • Build System — конфигурация сборки

Clone this wiki locally