The PrismaEngine SDK exposes two CMake helper functions —Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Excurs1ons/PrismaEngine/llms.txt
Use this file to discover all available pages before exploring further.
prisma_create_app() and prisma_create_editor_extension() — that abstract away the boilerplate required to build a game executable or an editor plugin. Both functions are defined in cmake/PrismaEngineConfig.cmake.in and become available after a successful find_package(PrismaEngine REQUIRED) call.
Setup: finding the package
Before using either function, locate the installed SDK withfind_package:
PrismaEngine_DIR at configure time:
find_package sets the following variables used internally by the helper functions:
| Variable | Description |
|---|---|
PRISMAENGINE_INCLUDE_DIR | Path to the public engine headers |
PRISMAENGINE_LIB_DIR | Path to the compiled engine libraries |
PRISMAENGINE_CMAKE_DIR | Path to the installed CMake modules |
prisma_create_app()
Creates a C++20 executable target linked against PrismaEngine::Engine. It handles include directories, C++ standard enforcement, optional extra libraries, output folder configuration, and — on Windows — automatically copies the engine DLL next to the built executable.
Signature
Parameters
Name of the CMake executable target to create. This becomes the binary name (
MyGame, MyGame.exe).Sets
RUNTIME_OUTPUT_DIRECTORY on the target. The compiled executable is placed in this directory. If omitted, CMake’s default output directory is used.List of source files added to the target via
target_sources(... PRIVATE ...). If omitted, you must add sources yourself with a separate target_sources() call.Additional libraries linked privately against the target. The engine itself (
Engine / PrismaEngine::Engine) is always linked automatically — only list extra dependencies here.What it does internally
Examples
Minimal game project:prisma_create_editor_extension()
Creates a shared library target linked against the Editor target. Editor extensions are loaded by the Prisma editor at startup and can add panels, tools, asset importers, and scene components to the editor UI.
Signature
Parameters
Name of the CMake shared library target. The output is a
.dll (Windows) or .so (Linux) that the editor discovers and loads at runtime.Source files compiled into the extension. The extension must export its entry point using the
EDITOR_EXTENSION_EXPORTS=1 macro, which the function defines automatically.What it does internally
Example
Complete working example
The followingCMakeLists.txt builds a game executable and an optional editor extension from a single project:
src/main.cpp:
System requirements
| Requirement | Minimum version |
|---|---|
| CMake | 3.20 |
| GCC (Linux) | 11+ |
| Clang (Linux) | 13+ |
| MSVC (Windows) | Visual Studio 2022 |
| NDK (Android) | r25+ |
| Vulkan SDK | 1.3+ |