Difference between revisions of "Scons command line flags"
(reformat the table a little, add -j) |
(Add outdated notice) |
||
(5 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
− | This page will explain all the | + | '''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 <code>--release --sse --sse2 --no-warnings</code> are all enabled by default. Use <code>--no-sse</code>, <code>--wall</code>, or <code>--debugging</code> to disable these. | ||
+ | |||
+ | Some of these options are also auto-detected. Your platform is detected so <code>--win / --lin / --mac</code> aren't needed unless you are cross compiling. Some cross compilers are also auto-detected on Linux so <code>--tool</code> may not be needed. <code>--64bit</code> and <code>--32bit</code> shouldn't be necessary either. | ||
{| class="wikitable" style="text-align: center; width: 100%;" | {| class="wikitable" style="text-align: center; width: 100%;" | ||
Line 6: | Line 10: | ||
| parallel compilation || Compiles in multiple threads, significally decreases compilation time if the number of threads equals the number of cores on your system. || -j4 | | 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 | | SSE || Compiles an SSE-enabled, and thus, non-legacy binary. || --sse | ||
Line 32: | Line 52: | ||
| SSE3 || Enables SSE3 optimisations. || --sse3 | | 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 |
|} | |} |
Latest revision as of 08:58, 3 April 2021
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 |