Difference between revisions of "Scons command line flags"
m (Wrap command line flags in code tags (introduction)) |
(Add outdated notice) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | '''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. | 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. | ||
Line 10: | Line 12: | ||
| Build || Sets the build directory. || --build-dir build/powder64 | | Build || Sets the build directory. || --build-dir build/powder64 | ||
|- | |- | ||
− | | Windows || Targets the Windows platform || --win | + | | Windows || Targets the Windows platform. || --win |
|- | |- | ||
− | | Linux || Targets the Linux platform || --lin | + | | Linux || Targets the Linux platform. || --lin |
|- | |- | ||
| Mac OS X || Targets the Mac OS X platform. || --mac | | Mac OS X || Targets the Mac OS X platform. || --mac | ||
Line 18: | Line 20: | ||
| MSVC || Compiles using the Microsoft Visual Studio Compiler || --msvc | | MSVC || Compiles using the Microsoft Visual Studio Compiler || --msvc | ||
|- | |- | ||
− | | Tool || Prefix for toolchain executables used for cross compiling. || --tool i586- | + | | Tool || Prefix for toolchain executables used for cross compiling. || --tool i586-mingw32msvc- |
|- | |- | ||
| Beta || Makes a beta build. || --beta | | 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 | | Save Version || Defines save version. || --save-version 89 | ||
Line 32: | Line 38: | ||
| Snapshot ID || Defines the snapshot ID. || --snapshot-id 12345 | | Snapshot ID || Defines the snapshot ID. || --snapshot-id 12345 | ||
|- | |- | ||
− | | 64-bit || Compiles a 64-bit (AMD64) version || --64bit | + | | 64-bit || Compiles a 64-bit (AMD64) version. || --64bit |
|- | |- | ||
− | | 32-bit || Compiles a 32-bit (i386) version || --32bit | + | | 32-bit || Compiles a 32-bit (i386) version. || --32bit |
|- | |- | ||
− | | Universal || Compiles a universal (32 and 64 bit) binary, OS X only || --universal | + | | Universal || Compiles a universal (32 and 64 bit) binary, OS X only. || --universal |
|- | |- | ||
− | | No SSE|| Compiles a legacy version, for older computers || --no-sse | + | | 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 46: | Line 52: | ||
| SSE3 || Enables SSE3 optimisations. || --sse3 | | SSE3 || Enables SSE3 optimisations. || --sse3 | ||
|- | |- | ||
− | | Native || Compiles with --march=native || --native | + | | 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 | + | | 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 FFT || Do not use fftw3f for gravity. || --nofft | ||
|- | |- | ||
− | | No | + | | No HTTP || Disables internet connectivity. || --nohttp |
|- | |- | ||
− | | Executable name || Create an executable with a different name || --output MyMod.exe | + | | 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 |