Explosion is a cross-platform C++ game engine, based on modern graphics api (aka Vulkan, DirectX 12, Metal), powered by ECS gameplay framework.
We use cmake as build tool, the following table contains supported platform, toolchain and generator:
Platform | Arch | Toolchain | Generator |
Windows | x64 | Visual Studio | Visual Studio 2019 |
Visual Studio 2022 | |||
Ninja | |||
Ninja Multi-Config | |||
macOS | x64 / arm64 | Apple Clang | Unix Makefiles |
Ninja | |||
Ninja Multi-Config |
By cause of cmake, we recommend CLion as Explosion's IDE, which can help you build and manage project simplely, and brings best coding experience to you. When use CLion as IDE, you just need open the project and configure cmake toolchain and generator in settings, press build and everything is down.
If you want to continue with command line mode, the following commands may help:
# for single config generator, such as Ninja, Unix Makefiles
cmake -S . -B <build_dir> -G <generator_name> -DCMAKE_BUILD_TYPE=<build_config>
cmake --build <build_dir>
# for multi config generator, such as Visual Studio, Ninja Multi Config
cmake -S . -B <build_dir> -G <generator_name>
cmake --build <build_dir> --config <build_config>
The parameters' meaning:
<build_dir>
: Build directory for saving cmake temporal files and dist binaries. You can transfer abuild
or any directory you like.<build_config>
: Build config of cmake, such asDebug
orRelease
.<generator_name>
: C++ generator which cmake will use to build project, you can transfer any generator in table list above, such asVisual Studio 2019
.
After build the project, you can get all dist binaries in <build_dir>/dist
.
Thanks all those following projects:
- EnTT
- GLM
- DirectX-Headers
- Vulkan
- DirectXShaderCompiler
- GLFW
- clipp
- debugbreak
- LLVM
- googletest
- taskflow
- cityhash
- stb
- fmt
- SPIRV-Cross
- assimp
- VulkanMemoryAllocator
- Qt6
- rapidjson
MIT @ Explosion Development Team All right Reserved 2023.