Semi-automatic Compilation with Build Script
A UNIGINE Build script is a one-touch solution to rebuild the engine tools with different options.
To invoke the build script, run <UnigineSDK>/source/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.
|
||||||||||||||||||||||||||||||||||||||||||||||
--csharp | Build the C# libraries and the application. | ||||||||||||||||||||||||||||||||||||||||||||||
--component COMPONENT |
UNIGINE component to build.
|
||||||||||||||||||||||||||||||||||||||||||||||
--precision PRECISION |
Create a build with single or double precision coordinates support. The default is float.
|
||||||||||||||||||||||||||||||||||||||||||||||
--plugins PLUGIN |
Build C++ plugins individually or in groups. The default is no. In the evaluation version of UNIGINE SDK, some plugins cannot be rebuilt.
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. | ||||||||||||||||||||||||||||||||||||||||||||||
--simd SIMD |
Perform parallel compilation using the SIMD operations. The default is sse2.
|
||||||||||||||||||||||||||||||||||||||||||||||
--vs VS |
Version of Visual Studio build tools to be used. The default is v140.
|
||||||||||||||||||||||||||||||||||||||||||||||
--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.). | ||||||||||||||||||||||||||||||||||||||||||||||
--clean_target | Delete everything from the target directory before the compilation starts. | ||||||||||||||||||||||||||||||||||||||||||||||
--clean_only | Full clean up without compilation. The default is false. | ||||||||||||||||||||||||||||||||||||||||||||||
--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. |
||||||||||||||||||||||||||||||||||||||||||||||
--sample | List of samples separated by spaces. | ||||||||||||||||||||||||||||||||||||||||||||||
--verbose | Enable verbose output. | ||||||||||||||||||||||||||||||||||||||||||||||
--dry-run | Print commands without building. | ||||||||||||||||||||||||||||||||||||||||||||||
--batch | Batch mode for msvc compiler. | ||||||||||||||||||||||||||||||||||||||||||||||
--watermark | Watermark type.
|
||||||||||||||||||||||||||||||||||||||||||||||
--cmake_gen | Cmake generators. | ||||||||||||||||||||||||||||||||||||||||||||||
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 all C++ samples, type:
<UNIGINE_SDK>\source\build.py --component samples
To build all C# samples, type:
<UNIGINE_SDK>\source\build.py --component samples --sample cs_all
To build a specific sample, you need to indicate its name, as well. For example, for a C# sample:
<UNIGINE_SDK>\source\build.py --component samples --csharp --sample <sample_name>
To build the release version of the GPUMonitor plugin, use the following command:
<UNIGINE_SDK>\source\build.py --component plugins --plugin GPUMonitor