Building Tekisasu Engine

To build Tekisasu Engine, our internal build of Godot Engine, we will use the prefabricated Tekisasu TC Build Environment. It has all software within the toolchain in source code format along with all dependencies and modifications made by Tekisasu. Currently, only Windows 10 64-bit is supported. While Tekisasu does not publicly make available Tekisasu Engine, we are documenting our build instructions here.

Build Requirements:

  • Windows 10 64-bit
  • Visual Studio 2019
  • Python 3.9.4
  • SCons 4.1.0
  • Tekisasu TCBE (Toolchain Build Environment)

Note: these instructions assume that you have downloaded the latest TCBE and have installed it in M:\tekisasu-toolchain

1) Prereq Software Setup

You first need to install Visual Studio 2019 with the C++ options toggled on. If you have already successfully compiled Aseprite, you have these options enabled.

Next, you will need to install Python 3.x. When installing, make sure to toggle the setting to add the path for all users.

2) Install SCons

Next, you need to install SCons. There are two methods you can use to install SCons. Currently, Toolchain build versions are compiled with a strict version controlled software stack to ensure reproducible builds. However, it should be fine to use upstream updates of some components. Over time, this may not be the case, so we currently employ a non-standard approach to SCons installation within your Python install environment.

a) Method One (scons-tekisasu) (preferred)

In the Tekisasu TCBE, there is a repository of the SCons 4.1.0 release along with a pip release that can be overlayed on top of an existing Python 3.9 environment. All Tekisasu builds reference this specific build of SCons.

To install it, take note of where you installed your Python installation. Python 3.9 is the supported version. By default it will have used your %AppData% folder with the PATH pointing there, resulting in the installation being located at the following location:

C:\Users\[YOUR USER NAME]\AppData\Local\Programs\Python\Python39

Copy the contents of TCBE’s “M:\tekisasu-toolchain\projects\godot\Github\scons-tekisasu\compiled\scons-tekisasu-4.1.0” on top of this folder.

This method will be updated at a future date when the Python installation is included in the TCBE itself.

b) Method Two (pip)

open a Command Prompt shell and use Python’s pip utility to install scons by running the following command:

python -m pip install scons

3) Build the Tools package and Export Templates

The Toolchain build of Godot, Tekisasu Engine, contains the script txbuild.py to build the Tools package (runtime + Tools gui) as well as the export templates. txbuilt.py also temporarily moves in a custom.py definitions option file in place for scons when compiling the release export templates. Additionally, the tool renames export templates if built successfully to prepare them for release on dev.tekisasu.com’s mirror list.

To build Tekisasu Engine, executive the following command inside the godot-tekisasu github repo folder inside the appropriate TCBE directory:

python txbuild.py build

After you successfully build the engine, you can clean it to reclaim your disk space:

python txbuild.py clean

txbuild.py – documentation of functions:

Builds executable tool:

scons platform=windows -j8 tools=yes target=release_debug bits=64

Builds debug export templates:

scons platform=windows -j8 tools=no target=release_debug bits=32
scons platform=windows -j8 tools=no target=release_debug bits=64

Turns on custom.py option for RELEASE export template builds. The Tekisasu export options are:

disable_3d = "yes"
disable_advanced_gui = "yes"
minizip = "no"
module_arkit_enabled = "no"
module_bullet_enabled = "no"
module_enet_enabled = "no"
module_hdr_enabled = "no"
module_jpg_enabled = "no"
module_mbedtls_enabled = "no"
module_mobile_vr_enabled = "no"
module_ogg_enabled = "no"
module_opensimplex_enabled = "no"
module_opus_enabled = "no"
module_theora_enabled = "no"
module_upnp_enabled = "no"
module_vorbis_enabled = "no"
module_webm_enabled = "no"
module_webp_enabled = "no"

Builds release export templates:

scons platform=windows -j8 tools=no target=release bits=32 use_lto=yes
scons platform=windows -j8 tools=no target=release bits=64 use_lto=yes

Cleans build directory:

scons platform=windows -j8 tools=yes target=release_debug bits=64 -c
scons platform=windows -j8 tools=no target=release_debug bits=32 -c
scons platform=windows -j8 tools=no target=release bits=32 -c
scons platform=windows -j8 tools=no target=release_debug bits=64 -c
scons platform=windows -j8 tools=no target=release bits=64 -c

Prepares export template and tools package names for packaging:

echo F | xcopy bin\godot.windows.opt.tools.64.exe bin\Tekisasu-Engine.exe
echo F | xcopy bin\godot.windows.opt.debug.64.exe bin\windows_64_debug.exe
echo F | xcopy bin\godot.windows.opt.debug.32.exe bin\windows_32_debug.exe
echo F | xcopy bin\godot.windows.opt.64.exe bin\windows_64_release.exe
echo F | xcopy bin\godot.windows.opt.32.exe bin\windows_32_release.exe

txbuild.py:

Here is txbuild.py in its current state. It’s nothing fancy, but it will help if you, too, are looking to build a private branch of Godot that you manage and patch to your needs. Please feel free to adapt it however you want. To adapt it, the only things you would need to change are the file rename for the tool build in tekisasu_build() and support for any additional export templates you’d like to build. I only target Windows 32/64 at the moment, so that’s all that’s in here. It might be better to put each export template platform in its own function and then call them from build and clean.

Download txbuild.py