Tucker Lein
Raft -

C++ Build System used to create Squatbot

Raft is a build system for C++ used to manage a C++ project’s dependencies and compilation. Raft is a node.js command line tool written in TypeScript. It is an open-source project and can be found on ILD Games LLC’s github page here .

Myself and one other developer created Raft to assist in development of games using the Ancona game engine we also wrote.

As an example of how it works: Our game (Squatbot) has 3 major dependencies:

  • Ancona (game engine library)
  • SFML (rendering library)
  • rapidjson (JSON parsing library)

When initiating the first compile of Squatbot, Raft will pull down the source code for the dependencies and compile them for the platform and architecture specified. It would then compile Squatbot using the versions of its dependencies it just compiled.

This system allowed for quick checking of issues in a dependency’s source code and can allow changes to a dependency’s code and immediately compiled and used by Squatbot.

Primary responsibilities included:

  • Templating system to allow for fast creation of source files based on a certain template
  • iOS build capability
  • macOS build capability