Updated CMake Policies.
This commit is contained in:
@@ -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`.
|
||||
|
||||
Reference in New Issue
Block a user