1.7 KiB
hdk-is3r
This is the glue library required to have an ImGui renderer implementation for SDL's rendering API.
As simple as it sounds but it may get split into three libraries in the future:
hdk-is3r: Just the SDL Renderer glue for ImGuihdk-is: General SDL glue for ImGui (input handling, clipboard, etc.)hdk-imgui: Core ImGUI code that has no dependencies on any backend.
This will be so that we can very easily add imgui-sdl-opengl and imgui-sdl-vulkan, etc.
in the future without having to duplicate the SDL glue or ImGUI core code.
Dependency Resolution
hdk-is3r resolves SDL3 with the same system-first strategy as other HDK modules:
- Try
find_package(SDL3 <minimum>). - If unavailable or too old, optionally fall back to
FetchContent.
Relevant CMake options:
HDK_IS3R_SYSTEM_SDL3HDK_IS3R_FETCH_SDL3_FALLBACKHDK_IS3R_MIN_SDL3_VERSION
Example Assets
hdk-is3r examples follow the shared HDK asset resolution contract and stage assets beside example executables in the build tree.
Resolution order:
- Repository checkout assets (monorepo use)
- Installed
hdk-assetspackage with minimum version FetchContentfallback
Relevant CMake options:
HDK_IS3R_EXAMPLES_FETCH_ASSETSHDK_IS3R_EXAMPLES_ASSETS_MIN_VERSIONHDK_IS3R_EXAMPLES_ASSETS_GIT_REPOSITORYHDK_IS3R_EXAMPLES_ASSETS_GIT_TAG
Installation Layout
When enabled, installed is3r examples and shared assets go under one install prefix.
- Example binaries:
${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR} - Shared assets:
${CMAKE_INSTALL_PREFIX}/${HDK_IS3R_EXAMPLES_INSTALL_ASSETSDIR}
Default shared assets directory is assets, yielding ${CMAKE_INSTALL_PREFIX}/assets.