Build Instructions

Build Structure

Builds are always generated for a target. The following set of targets are available:

  • Win64
  • Win32*
  • Mac64 = Soon(tm)

These targets are combined with a Debug or Release specification and generate the following string:

  • WIN64_DEBUG
  • WIN64_RELEASE
  • WIN32_DEBUG*
  • WIN32_RELEASE*
  • MAC64_DEBUG - Soon tm
  • MAC64_RELEASE - Soon tm

* = Currently disabled due to CI issues.

These are basically a string of Platform + Architecture + Debug/Release combined. This allows us to build multiple targets later on.

The following folders are also available:

  • Build/

    This folder is the main folder where a build is made. Builds are made without any IDE support and are generated via CMake and Ninja. --build controls if you want to build Debug or Release . And --target controls the target (listed above)

  • BuildProjects/

    This folder contains project files (Currently tuned for Visual Studio 2017). This folder will contain you visual studio files. You might want to rebuild these files if the CMake files change. --projectFiles flag controls if we want to build project files or not.

The Most Basic Build

The most basic build must include these commands:

$ python build.py --project all --target Win64

Note

Defaults to Debug mode, use --build Release to build Release mode.

Building IDE Project Files

You can generate IDE files (Visual Studio files) by appending the flag --projectFiles This will tell Azura to generate a set of project files along with a regular build.

Note: You don’t have to do this every single time. This will waste a lot of time building them. One should only use --projectFiles only when CMakeLists.txt changes with additions / removals related to Shaders / Textures / CPP Files or any other files that are linked to CMake targets.

$ python build.py --project all --target Win64 --projectFiles

This will create the required project files in the BuildProjects/ folder.

Windows Specific Project Files:

For Visual Studio open Mundus.sln

This is the one single visual studio solution containing all projects. You can now set any project (that is an executable) as a Start Up Project. You can now build and code as usual.

Note

Visual Studio projects have reduced static analysis and compiler checks. In short, if your visual studio project builds then the main build may or may not build. This is due to stricter checks in the main build allowing you to hack through code in VS. But obviously, correcting the hacks once the code works.

Building Documentation

Make sure you have the required modules for documentation generation. You can use the --docs override to generate docs. Based on the platform it will call the necessary scripts.

From an overview, The docs are first built using Doxygen. They output an XML structure which is converted to reStructured Text using Sphinx docs and their doxygen bridge plugin called breathe.