Rebel Fork Framework
|
This document provides instructions on how to build the project on various platforms using CMake.
The following table lists the common CMake build parameters that are defined in the current open file:
Parameter | Description |
---|---|
URHO3D_ENABLE_ALL | Enable all features by default |
URHO3D_GLOW | Lightmapping subsystem enabled |
URHO3D_IK | Inverse kinematics subsystem enabled |
URHO3D_LOGGING | Enable logging subsystem |
URHO3D_NAVIGATION | Navigation subsystem enabled |
URHO3D_NETWORK | Networking subsystem enabled |
URHO3D_PHYSICS | Physics subsystem enabled |
URHO3D_PROFILING | Profiler support enabled |
URHO3D_PROFILING_FALLBACK | Profiler uses low-precision timer |
URHO3D_PROFILING_SYSTRACE | Profiler systrace support enabled |
URHO3D_SYSTEMUI | Build SystemUI subsystem |
URHO3D_URHO2D | 2D subsystem enabled |
URHO3D_PHYSICS2D | 2D physics subsystem enabled |
URHO3D_RMLUI | HTML subset UIs via RmlUI middleware |
URHO3D_PARTICLE_GRAPH | Particle Graph Effects |
URHO3D_COMPUTE | Enable Compute shaders |
URHO3D_ACTIONS | Tweening actions |
URHO3D_SHADER_TRANSLATOR | Enable shader translation from universal GLSL shaders to other GAPI via glslang and SPIRV-Cross |
URHO3D_SHADER_OPTIMIZER | Enable shader optimization via SPIRV-Tools |
URHO3D_CSHARP | Enable C# support |
URHO3D_NETFX | TargetFramework value for .NET libraries |
URHO3D_NETFX_RUNTIME_VERSION | Version of runtime to use. |
URHO3D_DEBUG_ASSERT | Enable Urho3D assert macros |
URHO3D_FILEWATCHER | Watch filesystem for resource changes |
URHO3D_SPHERICAL_HARMONICS | Use spherical harmonics for ambient lighting |
URHO3D_HASH_DEBUG | Enable StringHash name debugging |
URHO3D_MONOLITHIC_HEADER | Create Urho3DAll.h which includes all engine headers. |
URHO3D_MINIDUMPS | Enable writing minidumps on crash |
URHO3D_PLUGINS | Enable plugins |
URHO3D_THREADING | Enable multithreading |
URHO3D_WEBP | WebP support enabled |
URHO3D_TESTING | Enable unit tests |
URHO3D_PACKAGING | Enable *.pak file creation |
EMSCRIPTEN_WASM | Use wasm instead of asm.js |
EMSCRIPTEN_TOTAL_MEMORY | Memory limit in megabytes. Set to 0 for dynamic growth. Must be multiple of 64KB. |
URHO3D_PLUGIN_LIST | List of plugins to be statically linked with Editor and Player executables |
URHO3D_PARALLEL_BUILD | MSVC-only: enable parallel builds. A bool or a number of processors to use. |
URHO3D_PLAYER | Build player application |
URHO3D_EDITOR | Build editor application |
URHO3D_EXTRAS | Build extra tools |
URHO3D_TOOLS | Tools enabled. Bool or a list of tool target names. |
URHO3D_SAMPLES | Build samples |
URHO3D_MERGE_STATIC_LIBS | Merge third party dependency libs to Urho3D.a |
URHO3D_NO_EDITOR_PLAYER_EXE | Do not build editor or player executables. |
URHO3D_SSL | Enable OpenSSL support |
URHO3D_SDK | Path to a SDK or a build containing tools compiled for current host architecture |
Nearly all features are disabled by default, therefore please explicitly enable features you are going to use, or use -DURHO3D_ENABLE_ALL=ON
to enable everything (which is a lot, and will build much slower).
To build the project on Windows, follow these steps:
This command configures the build for Visual Studio 2022 and generates a 64-bit build.
This command builds the project in Release configuration.
Alternatively, you may open the Visual Studio project a generated in cmake-build-win32
directory.
To build the project on Windows, targetting UWP platform, follow these steps:
This command configures the build for Visual Studio 2022 and generates a 64-bit build.
This command builds the project in Release configuration.
Alternatively, you may open the Visual Studio project a generated in cmake-build-uwp
directory.
To build the project on Linux, follow these steps:
This command configures the build for Release configuration.
This command builds the project.
To build the project on MacOS, follow these steps:
This command configures the build for Release configuration.
This command builds the project.
Alternatively, you may open the Xcode project a generated in cmake-build-macos
directory.
To build the project on Android, follow these steps:
android
subdirectory inside the project folder.Make Project
button (green hammer in the toolbar) or CTRL+F9
to build the project.To build the project on iOS, follow these steps:
This command configures the build for iOS simulator. Build parameters may need to be changed in order to target real hardware or a different OS version.
This command builds the project.
Alternatively, you may open the Xcode project a generated in cmake-build-ios
directory.
To build the project for Web using Emscripten, follow these steps:
Install Emscripten SDK.
You may need to adapt these commands, depending on OS you are on and shell you are using:
./emsdk.bat
./emsdk
../emsdk.ps1
.$EMSDK
with the path to cloned Emscripten SDK directory:This command configures the build for Release configuration.
This command builds the project.
In some cases build process needs to use tools build for the host system. Such cases are:
-DURHO3D_CSHARP=ON
, swig
executable is required to generate C# bindings.-DURHO3D_PACKAGING=ON
, PackageTool
is required to generate .pak
files.While desktop builds can build and use these tools on their own, mobile/web/uwp builds can not. Native tools must be provided in that case.
-DURHO3D_TOOLS=PackageTool;swig
.-DURHO3D_SDK=path/to/cmake-build-win32
.-DURHO3D_TOOLS=PackageTool;swig
and -DURHO3D_PREFIX_PATH=path/to/SDK
.-DURHO3D_SDK=path/to/SDK
.