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. | ||
---|---|---|---|
--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. | ||
--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 sse2.
|
||
--jobs JOBS | Perform parallel compilation. An argument specifies the number of parallel building jobs to be run. The default is all.
|
||
--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. | ||
--terminal | Enable the TELNET terminal. | ||
--password | Use the password. The <UnigineSDK>/source/engine/password.resource file should be created by using the Resource tool before rebuilding. | ||
--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 64-bit platform, just run the build script:
C:\Windows\system32>c:
C:\Windows\system32>cd c:\UNIGINESDK\utils\
C:\UNIGINESDK\utils>build.py
In the example below, the debug version of tools will be rebuilt for 32-bit Windows (the current platform):
C:\UNIGINESDK\utils>build.py --type=debug --bits=32 --component=tools
To create the debug version of the engine with double precision coordinates support, use the following:
C:\UNIGINESDK\utils>build.py --type=debug --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 GPUMonitor plugin for x64 platform, use the following command:
C:\UNIGINESDK\utils>build.py --plugin=GPUMonitor