Semi-automatic Compilation with Build Script
A UNIGINE Build script is a one-touch solution to rebuild the engine and tools with different options.
To invoke the build script, run <UnigineSDK>/utils/build.py from a console (see examples below). Note that you need to properly set the development environment to get the script working.
Built files can be found in the target directory, in bin and lib folders.
Command Line Options
--help | Display a help message and exit. | ||
---|---|---|---|
--platform PLATFORM | Platform to build for (multiple options are accepted). By default the target platform corresponds to the native one.
|
||
--type TYPE | Type of the build (multiple options are accepted). The default is release.
|
||
--bits BITS | Bit count of the target platform. OS native bit count is detected and used as a default one.
|
||
--csharp | Build the C# libraries and the application.
If the --sample parameter is set to all, both the C# and C++ samples will be built. |
||
--component COMPONENT | UNIGINE component to build. The default is engine.
|
||
--precision PRECISION | Create a build with single or double precision coordinates support. The default is float.
|
||
--plugin PLUGIN | Build C++ plugins individually or in groups. The default is no.
Plugins are specified in the following way:
|
||
--tool TOOL | Build UNIGINE tools individually or in groups (--component parameter should be set to all or tools). The default is all.
Tools are specified in the following way:
|
||
--log LOGFILE | Create a log file that contains a record of the compilation. By default, no name is specified and the log file is not created. | ||
--nocompiler NOCOMPILER | Disable the usage of shader compiler for Direct3D11 renderer. All shaders must be precompiled and placed in the root of data directory. The default is no. | ||
--password PASSWORD | The password entered when creating an UNG archive for the engine to open and use these archives. The default is no. | ||
--sample SAMPLE | Build the C++/C# samples. Multiple options are allowed. The default is no.
Samples are specified in the following way:
|
||
--simd SIMD | Perform parallel compilation using the SIMD operations. The default is no.
|
||
--jobs JOBS | Perform parallel compilation. An argument specifies the number of parallel building jobs to be run. The default is all.
|
||
--batch | Batch option to skip all prompts for user input. Not used by default. | ||
--clean_source | Clean up the source directory before the compilation starts (i.e. remove pdb, ilk, exp files, etc.). When this option is set, the source/clean.py script is actually run. If you need to clean up after the compilation was performed, run this script manually (the target directory will remain untouched). | ||
--clean_target | Delete everything from the target directory before the compilation starts. | ||
--watermark WATERMARK | Create a build with a watermark in the viewport The default is no.
|
||
--terminal TERMINAL | Enables TELNET terminal. The default value is no. | ||
--skip_errors | Skip build errors (if any). When this option is set, the build.py script is run for all of the specified tools and plugins, even if errors occur. The build errors are displayed at the end.
This option allows skipping build errors only for tools and plugins. |
||
TARGET | The last optional argument is a target directory to store builds, by default it's ../. Two additional directories in the target directory will be created: bin and lib to store the binary executable and libraries, respectively. |
If no options are set, the script will be built with default values.
Usage Examples
To build the release version of the UNIGINE engine (both the binary executable and the UNIGINE library) for a native 64-bit platform, type:
build.py --type=release --bits=64
In the example below, the debug version of tools will be rebuilt for 32-bit Windows (the current platform):
C:\Windows\system32>c:
C:\Windows\system32>cd c:\UNIGINESDK\utils\
C:\UNIGINESDK\utils>build.py --type=debug --bits=32 --component=tools
To create the debug version of the engine, use the following:
C:\UNIGINESDK\utils>build.py --type=debug --component=engine --precision=double
To build all the C++ and C# samples, type:
C:\UNIGINESDK\utils>build.py --csharp --sample=all
To build the release version of the Renderer plugin for x64 platform, use the following command:
build.py --component=engine --plugin=Renderer --type=release --bits=64