Skip to content

Latest commit

 

History

History
127 lines (100 loc) · 6.87 KB

INFRA.md

File metadata and controls

127 lines (100 loc) · 6.87 KB

The Axmol SDK & tools references

Versions below describe the current repository configuration. A preferred version is installed when no suitable tool is found; an existing version that meets the minimum requirement can be reused. Pinned versions and CI baselines are listed separately. Upstream badges show upstream releases, not Axmol's configured versions.

PowerShell

  • github
  • Minimum version: 7.4.0
  • Preferred version: 7.6.7
  • License: MIT
  • Platform: Win32/macOS/Linux
  • Managed by: 1k/pwshi.sh
  • Note: Lua binding generation also requires PowerShell 7.4+. No separate .NET SDK is required for axmol genbindings.

CMake

  • github
  • Minimum version (Axmol command line): 4.2.0
  • Preferred version: 4.4.4
  • License: BSD-3-Clause
  • Platform: Win32/macOS/Linux
  • Managed by: 1k/build.profiles
  • Note: The root CMakeLists.txt declares a minimum of 3.22; cmake/Modules/AXConfigDefine.cmake raises it to 3.27 on Windows. These configuration minimums differ from the command-line tool requirement.

axslcc

  • github
  • Pinned version: 4.0.1
  • License: MIT
  • Platform: Win32/macOS/Linux
  • Managed by: 1k/build.profiles
  • Note: Axmol's HLSL-first cross-platform shader compiler, used when building shaders for the engine and applications.

LLVM

  • github
  • Pinned version: 21.1.8
  • clang-format CI baseline: 21.x (major version only; no pinned patch release)
  • License: Apache-2.0 WITH LLVM-exception
  • Platform: Win32/macOS/Linux
  • Managed by: 1k/build.profiles, 1k/llvm.ps1; libclang: tools/cmdline/plugins/genbindings.ps1; clang-format CI: .github/workflows/source-tidy.yml
  • Clang: Supplies the compiler toolchain where selected. Android NDK, Xcode and emsdk provide their own compiler toolchains.
  • libclang: Lua binding generation uses the managed library package directly through axmol genbindings.
  • clang-format: Formats source code; use the same major version as CI to keep formatting results consistent.

Microsoft.Windows.CppWinRT

  • nuget
  • Version: 3.0.260818.1
  • License: MIT
  • Platform: WinRT/WinUWP
  • Managed by: cmake/Modules/AXConfigDefine.cmake

Microsoft.Web.WebView2

Microsoft Build of OpenJDK

  • Upstream JDK 17
  • Minimum version: 17.0.10
  • Preferred version: 17.0.20.1
  • License: GPLv2 with Classpath Exception
  • Platform: Android (build host: Win32/macOS/Linux)
  • Managed by: 1k/build.profiles
  • Note: Used by Android SDK command-line tools and Gradle builds.

Android NDK

  • github
  • Pinned version: r27d
  • License: Android SDK License Agreement and component licenses
  • Platform: Android (build host: Win32/macOS/Linux)
  • Managed by: 1k/build.profiles
  • Note: Used for Android native builds and the Android target headers consumed by Lua binding generation.

Android SDK

  • Upstream API
  • Default compileSdk / targetSdk: 37 (Android 17)
  • License: Android SDK License Agreement and component licenses
  • Platform: Android (build host: Win32/macOS/Linux)
  • Managed by: 1k/build.profiles
  • Note: Command-line Tools provide sdkmanager; Build-tools and the SDK platform are separate packages with independently configured versions. The upstream badge shows the latest stable main API level, excluding minor and extension levels.

Gradle

  • github
  • Pinned version: 9.8.2
  • License: Apache-2.0
  • Platform: Android
  • Managed by: 1k/build.profiles

Android Gradle Plugin

  • Upstream AGP
  • Pinned version: 9.4.1
  • License: Apache-2.0
  • Platform: Android
  • Managed by: 1k/build.profiles, setup.ps1
  • Note: setup.ps1 synchronizes the plugin version in Android templates and test projects. The upstream badge excludes prerelease versions.

emsdk

  • github
  • Minimum version: 3.1.73
  • Preferred version: 6.0.13
  • License: Apache-2.0
  • Platform: WebAssembly (build host: Win32/macOS/Linux)
  • Managed by: 1k/build.profiles

ninja-build

  • github
  • Minimum version: 1.10.0
  • Preferred version: 1.13.2
  • License: Apache-2.0
  • Platform: Android/WebAssembly and desktop builds using a Ninja generator
  • Managed by: 1k/build.profiles
  • Note: Android, WASM and WASM64 builds use Ninja by default. Desktop builds also require it when using a Ninja generator.