Building the Editor
The Editor is a standalone CMake executable target that links against the Core engine library and bundles Dear ImGui for its interface.
CMake Target
The Editor target is defined in SafiEngine/editor/CMakeLists.txt:
Sources are collected via GLOB_RECURSE from editor/src/.
Dependencies
The Core library itself pulls in:
- Flecs v4.0.5 (ECS)
- tinygltf v2.9.5 (glTF loader)
- GLM 1.0.1 (math)
- nlohmann/json v3.11.3 (serialization)
- Jolt Physics v5.2.0
- miniaudio 0.11.22 (audio)
- Native C++ Behavior system (scripting)
Build Commands
The C++ standard is C++17 (required for std::filesystem).
Post-Build Steps
The CMake configuration includes two post-build copy steps:
-
Editor assets — Copies
editor/assets/to the output directory (assets/). This includes template files likePlayer.glbused by the 3D Starter project template. -
Core shaders — Copies
Core/assets/shaders/to the output directory (shaders/). These are the vertex, fragment, and utility shaders required by the renderer.