Skip to content

Latest commit

 

History

History

docu

LLGL Build System

CMake

The primary build tool for LLGL is CMake and while LLGL is compatible with older versions down to version 3.7, it is recommended to use a more up to date version, i.e. 3.18 and later. You can either use the CMake GUI, run the cmake command manually, or run the Build script for the respective platform (run them with -h/--help for more details).

Windows

LLGL is compatible with the MSVC toolchain of Visual Studio 2015 and later. To build D3D11 and D3D12 backends, the Windows SDK 10 (10.0.10240.0 or later) is also required.

macOS

LLGL for macOS is compatible with Xcode 9 and later.

iOS

It is recommended to use a higher version of Xcode for LLGL on iOS. At least version 12 on macOS 10.15 Catalina is required to test the Metal backend on the iOS simulator.

Android

The build script for Android compiles LLGL for one or more ABIs, since Android is available on many different devices. It can generate the folder structure of all example projects for Android Studio. The recommended process to build LLGL examples for Android can be split into two steps:

  1. Run ./BuildAndroid.sh --apps (additional arguments are optional), which compiles LLGL for the default ABIs (arm64-v8a, armeabi-v7a, x86, x86_64).
  2. Open the respective example directory (<LLGL-ROOT>/build_android/apps/<EXAMPLE>) in Android Studio to build and run the app in either a simulator or on your Android device. On Windows, MSYS2 can be used to run BuildAndroid.sh.

Screenshot missing: AndroidStudio Build Showcase

GNU/Linux

The BuildLinux.sh script recognizes several major Linux distributions. Use $ ./BuildLinux.sh -h in a command prompt for more details. See also scripts/ListMissingPackages.sh for details about supported OS distributions.

The following libraries are the minimum requirement to build LLGL on Linux:

  • X11: libx11-dev (Debian), libx11 (Arch), libx11-devel (RedHat)
  • Xrandr: libxrandr-dev (Debian), libxrandr (Arch), libXrandr-devel (RedHat)

MSYS2

To build LLGL with the GNU ABI for Windows using MinGW, there is a build script for MSYS2. The compiler toolchain, cmake, and the OpenGL development libraries for mingw64-w64 can be installed as follows:

$ pacman -S mingw-w64-x86_64-gcc
$ pacman -S mingw-w64-x86_64-cmake
$ pacman -S mingw-w64-x86_64-glew
$ pacman -S mingw-w64-x86_64-freeglut

The build script BuildMsys2.sh can be used to automate the build process. Use $ ./BuildMsys2.sh -h in a command prompt for more details.

WebAssembly (Wasm)

- This is in an experimental state -

LLGL can be built for the web using Emscripten, WebAssembly, and WebGL 2. When building on Windows, it is recommended to use the Windows Subsystem for Linux (WSL) to run the BuildWasm.sh bash script. The generated example projects can be tested by running a local web server from the output folder, for instance with Node.js or Python http.server module:

$ python -m http.server

Then launch your web browser of choice and open the URL http://localhost:8000/.

Screenshot missing: HTML5 Example Showcase