Updated CMake Policies.

This commit is contained in:
BadQuanta
2026-05-16 21:36:45 +00:00
parent e25a28f3bf
commit 7c246bd12e
10 changed files with 798 additions and 9 deletions
+43 -2
View File
@@ -3,8 +3,49 @@
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:
- `imgui-sdl-renderer`: Just the SDL Renderer glue for ImGui
- `imgui-sdl`: General SDL glue for ImGui (input handling, clipboard, etc.)
- 'imgui': Core ImGUI code that has no dependencies on any backend.
- `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.
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:
1. Try `find_package(SDL3 <minimum>)`.
2. If unavailable or too old, optionally fall back to `FetchContent`.
Relevant CMake options:
- `HDK_IS3R_SYSTEM_SDL3`
- `HDK_IS3R_FETCH_SDL3_FALLBACK`
- `HDK_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:
1. Repository checkout assets (monorepo use)
2. Installed `hdk-assets` package with minimum version
3. `FetchContent` fallback
Relevant CMake options:
- `HDK_IS3R_EXAMPLES_FETCH_ASSETS`
- `HDK_IS3R_EXAMPLES_ASSETS_MIN_VERSION`
- `HDK_IS3R_EXAMPLES_ASSETS_GIT_REPOSITORY`
- `HDK_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`.