Skip to content

Development

Karn Kaul edited this page Nov 4, 2019 · 4 revisions

Building LittleEngine

LittleEngine uses some external libraries, which are all set up via ThirdParty/CMakeLists.txt, which builds/copies all its outputs to where LittleEngine expects them to be. There are various nested git submodules that connect to related but independent repositories; CMake scripts expose an option: UPDATE_SUBMODULES (on by default) which updates all submodules during configuration.

LittleEngine is (currently) not set up for cross-compilation (eg, iOS / Android); it only supports being built for the target it is being developed on, ie, x64/ARMv8 machines (PCs).

Requirements:

  1. x64 / ARMv8 multi-threaded target
  2. Git submodules (CMake scripts expose an option to turn off auto-updation, at which point it is the developer's responsibility to keep all submodules synchronised)
  3. CMake for the target, preferably using Ninja and LLVM
  4. SFML 2.5.1 source / internet access (CMake will download it)
  5. (Optional) Bash (native/MinGW/WSL), Python 3 (all tools scripts are in Bash/Python)
  6. (Optional) Ninja, Clang, and lld are recommended, as LittleEngine is developed and built on such a toolset

Note: Due to GitHub's limitations with (free) LFS, Runtime Assets have been moved to DropBox since 0.4.4.0.

Building

  1. Build LittleEngine / LEDemo /custom executable target:
    1. Run CMake on the top-level CMakeLists.txt and generate the desired project(s).
    2. Build the generated project(s).
  2. Debugging:
    1. Set Test / LEDemo/ custom executable as the debugging target.

Platform Instructions

  1. Windows (x64)
  2. Linux (x64 / ARMv8)
  3. MacOSX (x64)

Note: See About LittleEngine for more info on adding custom code etc

Clone this wiki locally