You can tweak the generation of nCine project files with the following CMake options and variables:
If this variable is set all the following options and variables will be set accordingly in order to produce a binary only or a developer distribution of the nCine. The only two allowed values are “BinDist” and “DevDist” respectively.
You can set this option to enable or disable the compilation of test programs. Should you enable it make sure to have cloned the data repository as well.
You can set this option to enable or disable the compilation of unit tests. When enabled CMake will first download and compile Google Test, then the unit tests.
You can set this option to enable or disable the compilation of the micro benchmarks. When enabled CMake will first download and compile Google Benchmark, then the micro benchmarks.
By enabling this option the nCine installation package will include all the files that support development.
This option will enable the use of whole program and link time optimizations when in Release mode.
This option will enable report generation from compiler auto-vectorization.
By enabling this option the engine will be compiled as a dynamic library. Otherwise it will be compiled as a static library. The latter will allow the compilation of additional tests but needs more work from the user.
When the engine is compiled as a static library any project using it needs to link to all the dynamic libraries on which the engine normally depends.
By enabling this option Doxygen will be invoked to create the HTML based API documentation and an install target will be set up by CMake.
When this option is enabled, the generated documentation will include implementation classes.
By enabling this option CMake will export all shader files in a single file of C strings to be included in the engine sources.
This option will build the Android version of the engine.
When this option is enabled all Linux and Android libraries and executables will be stripped with the
This option enables the support for the system agnostic threads API. On Emscripten the Pthreads support is disabled by default as it is in a prototyping stage.
This option enables the integration with the GLEW library and cannot be turned off on Windows.
This option enables the support for Google ANGLE libraries on Windows. It will work only when compiling with MSVC and when libraries are found inside the
This option enables the integration with the zlib and libpng libraries to allow PNG images loading.
This option enables the integration with the libwebp library to allow WebP images loading.
This option enables the audio and the integration with the OpenAL library.
This option enables the integration with the libogg and libvorbis libraries to allow Ogg Vorbis sound loading. It is automatically disabled when
NCINE_WITH_AUDIOis not enabled.
This option enables the scripting API and the integration with the Lua library.
When this option is enabled the engine will feature an integration with the Dear ImGui user interface toolkit.
When this option is enabled the engine will feature an integration with the Nuklear user interface toolkit.
When this option is enabled the engine will feature an integration with the Tracy frame profiler.
When this option is enabled the engine will feature the in-application integration with the RenderDoc graphics debugger. If the RenderDoc directory cannot be found automatically you can set its path with the
This option specifies the preferred backend on desktop in case both the supported ones are available. The only valid value are
This options enables the Emscripten Pthreads support by setting both
WASM_MEM_MAXcompiler and linker options. It might slow down code execution if WebAssembly is disabled in the compilation scripts.
This option is only available when
NCINE_BUILD_ANDROIDis on. It will automatically assemble the Android APK invoking the Gradle executable, if it could be found.
This is a CMake list of the target architectures when compiling for Android. Supported ones are
This string should be set to the path of the directory containing the Android NDK. If this string is not set to a valid directory then the
ANDROID_NDKenvironment variables will be queried in this order.
This string sets the path to the data directory that will be embedded in example tests.
This option enables the gcov coverage of GCC and Clang compilers. It is especially useful in combination with
This option enables the AddressSanitizer memory error detector of GCC and Clang compilers.
This option enables the memory corruption mitigation methods of the GCC compiler.
This string should be set to the path of the directory containing the tests data files.
This string should be set to the path of the directory containing the Android dependency libraries.
This string should be set to the path of the directory containing the MSVC dependency libraries.
This string should be set to the path of the directory containing the Emscripten dependency libraries.
This should be set to a valid target name of a test program. It will then become the startup project in Visual Studio.