Scons command line flags
ATTENTION: This guide is outdated as of 2021. Please use this guide for building any recent version of the game: Building TPT with Meson
This page will explain all the SCons command line flags. Note that --release --sse --sse2 --no-warnings
are all enabled by default. Use --no-sse
, --wall
, or --debugging
to disable these.
Some of these options are also auto-detected. Your platform is detected so --win / --lin / --mac
aren't needed unless you are cross compiling. Some cross compilers are also auto-detected on Linux so --tool
may not be needed. --64bit
and --32bit
shouldn't be necessary either.
Name | Description | Example usage |
---|---|---|
parallel compilation | Compiles in multiple threads, significally decreases compilation time if the number of threads equals the number of cores on your system. | -j4 |
Build | Sets the build directory. | --build-dir build/powder64 |
Windows | Targets the Windows platform. | --win |
Linux | Targets the Linux platform. | --lin |
Mac OS X | Targets the Mac OS X platform. | --mac |
MSVC | Compiles using the Microsoft Visual Studio Compiler | --msvc |
Tool | Prefix for toolchain executables used for cross compiling. | --tool i586-mingw32msvc- |
Beta | Makes a beta build. | --beta |
No Install Prompt | Disables the install prompt on first run. | --no-install-prompt |
Ignore Updates | Disables checking for updates. | --ignore-updates |
Save Version | Defines save version. | --save-version 89 |
Minor Version | Defines the minor version. | --minor-version 1 |
Build Number | Defines the build number. | --build-number 281 |
Snapshot | Makes a snapshot build. | --snapshot |
Snapshot ID | Defines the snapshot ID. | --snapshot-id 12345 |
64-bit | Compiles a 64-bit (AMD64) version. | --64bit |
32-bit | Compiles a 32-bit (i386) version. | --32bit |
Universal | Compiles a universal (32 and 64 bit) binary, OS X only. | --universal |
No SSE | Compiles a legacy version, for older computers. | --no-sse |
SSE | Compiles an SSE-enabled, and thus, non-legacy binary. | --sse |
SSE2 | Enables SSE2 optimisations. | --sse2 |
SSE3 | Enables SSE3 optimisations. | --sse3 |
Native | Compiles with --march=native. | --native |
Release | Enables compiler optimization and makes a release build (slows down compiling). | --release |
Debugging | Enables Debug Options. | --debugging |
Preserve Symbols | Skips the step which strips the output of symbols. | --symbols |
Static Linking | Reduces external library dependencies. | --static |
OpenGL | Use OpenGL to render the interface. Currently defunct. | --opengl |
OpenGL Particles | Use OpenGL to render particles (turns on --opengl). Currently defunct. | --opengl-renderer |
Renderer | Compiles the save renderer instead of the game. | --renderer |
Font | Compiles the save font editor instead of the game. | --font |
Error on warnings | Any compiler errors turn into warnings. | --wall |
No warnings | Ignore all compiler warnings. | --no-warnings |
No Lua | Disables all Lua scripting features. | --nolua |
LuaJIT | Use LuaJIT. | --luajit |
Lua 5.2 | Use version 5.2 of Lua. | --lua52 |
No FFT | Do not use fftw3f for gravity. | --nofft |
No HTTP | Disables internet connectivity. | --nohttp |
Executable name | Create an executable with a different name. | --output MyMod.exe |