mirror of
https://invent.kde.org/marcoa/a-la-karte.git
synced 2026-02-09 13:03:09 +00:00
Docs: Add SDL3 build and release notes
Document SDL3 discovery and packaging guidance for local builds. Add a changelog and record the 0.1.1rc1 release notes.
This commit is contained in:
parent
7858f76c7a
commit
76f2678bf6
4 changed files with 98 additions and 2 deletions
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 3.20)
|
cmake_minimum_required(VERSION 3.20)
|
||||||
|
|
||||||
project(alakarte VERSION 0.1.0)
|
project(alakarte VERSION 0.1.1)
|
||||||
|
|
||||||
set(PROJECT_DEP_VERSION "6.0.0")
|
set(PROJECT_DEP_VERSION "6.0.0")
|
||||||
set(QT_MIN_VERSION "6.6.0")
|
set(QT_MIN_VERSION "6.6.0")
|
||||||
|
|
|
||||||
62
HACKING.md
62
HACKING.md
|
|
@ -10,6 +10,66 @@ This document is intended for contributors who want to build, run, and debug A-L
|
||||||
cmake -B build -S . -DCMAKE_BUILD_TYPE=Debug
|
cmake -B build -S . -DCMAKE_BUILD_TYPE=Debug
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### SDL3
|
||||||
|
|
||||||
|
A-La-Karte uses SDL3 for gamepad navigation.
|
||||||
|
|
||||||
|
There are two supported ways to satisfy the SDL3 dependency:
|
||||||
|
|
||||||
|
#### Option 1: Use a system SDL3 package
|
||||||
|
|
||||||
|
If your distribution provides SDL3 development packages, install them and configure normally.
|
||||||
|
|
||||||
|
Common package names include `libsdl3-dev` (Debian/Ubuntu), `SDL3-devel` (Fedora/openSUSE), or similarly named SDL3 "-devel" packages.
|
||||||
|
|
||||||
|
At CMake configure time, A-La-Karte uses `find_package(SDL3 REQUIRED)`. This requires that SDL3 provides a CMake package (e.g. `SDL3Config.cmake`) and that CMake can find it.
|
||||||
|
|
||||||
|
If CMake cannot find SDL3, you can point it at the right prefix:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cmake -B build -S . \
|
||||||
|
-DCMAKE_BUILD_TYPE=Debug \
|
||||||
|
-DCMAKE_PREFIX_PATH=/path/to/sdl3/prefix
|
||||||
|
```
|
||||||
|
|
||||||
|
Alternatively you can point directly at SDL3's CMake package directory:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cmake -B build -S . \
|
||||||
|
-DCMAKE_BUILD_TYPE=Debug \
|
||||||
|
-DSDL3_DIR=/path/to/SDL3Config.cmake/parent
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Option 2: Build SDL3 from a source tree
|
||||||
|
|
||||||
|
If your distro does not ship SDL3 yet (or ships a version without a usable CMake package), you can build SDL3 as part of the A-La-Karte build by pointing CMake at an SDL3 source checkout:
|
||||||
|
|
||||||
|
You can obtain a source tree by cloning upstream SDL:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/libsdl-org/SDL.git
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cmake -B build -S . \
|
||||||
|
-DCMAKE_BUILD_TYPE=Debug \
|
||||||
|
-DALAKARTE_SDL3_SOURCE_DIR=/path/to/SDL
|
||||||
|
```
|
||||||
|
|
||||||
|
`ALAKARTE_SDL3_SOURCE_DIR` must point at a directory that contains `CMakeLists.txt` from SDL3.
|
||||||
|
|
||||||
|
This is intended for local development and CI setups. Distributions should prefer packaging SDL3 as a system dependency.
|
||||||
|
|
||||||
|
#### Packaging guidance
|
||||||
|
|
||||||
|
Packagers should depend on the system SDL3 development package and ensure CMake can discover it.
|
||||||
|
|
||||||
|
In particular:
|
||||||
|
|
||||||
|
- The build dependency must include SDL3 headers and the CMake package files.
|
||||||
|
- A-La-Karte links against `SDL3::SDL3`.
|
||||||
|
- Avoid using `ALAKARTE_SDL3_SOURCE_DIR` in distribution packaging.
|
||||||
|
|
||||||
### Build
|
### Build
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|
@ -82,4 +142,4 @@ Then:
|
||||||
## Notes
|
## Notes
|
||||||
|
|
||||||
- SteamGridDB cover fetching requires an API key.
|
- SteamGridDB cover fetching requires an API key.
|
||||||
- KRunner integration and gamepad navigation are optional at build time (depending on available dependencies).
|
- KRunner integration is optional at build time (depending on available dependencies).
|
||||||
|
|
|
||||||
23
changelog.md
Normal file
23
changelog.md
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
# Changelog
|
||||||
|
|
||||||
|
## [0.1.1rc1] - 2026-01-24
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- SDL3-based gamepad navigation
|
||||||
|
- Bottom hint bar with keyboard/gamepad hints and controller icons
|
||||||
|
- UI mode setting (auto/desktop/handheld)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Import workflow skips sources that were already imported
|
||||||
|
- Steam importing filters out non-game entries (runtimes/redistributables)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Heroic importing prefers cached cover images and imports sideload apps
|
||||||
|
- Safer QObject lifetime management for games and launcher processes
|
||||||
|
|
||||||
|
## [0.1.0] - 2026-01-17
|
||||||
|
|
||||||
|
- First public preview release
|
||||||
|
|
@ -75,6 +75,19 @@
|
||||||
</keywords>
|
</keywords>
|
||||||
|
|
||||||
<releases>
|
<releases>
|
||||||
|
<release version="0.1.1rc1" date="2026-01-24">
|
||||||
|
<description>
|
||||||
|
<p>Preview release with improved navigation and importing</p>
|
||||||
|
<ul>
|
||||||
|
<li>SDL3-based gamepad navigation</li>
|
||||||
|
<li>Bottom hint bar with keyboard/gamepad hints</li>
|
||||||
|
<li>UI mode setting (auto/desktop/handheld)</li>
|
||||||
|
<li>Steam importing filters non-game entries</li>
|
||||||
|
<li>Import workflow avoids re-importing already imported sources</li>
|
||||||
|
<li>Heroic importing prefers cached covers and imports sideload apps</li>
|
||||||
|
</ul>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
<release version="0.1.0" date="2026-01-17">
|
<release version="0.1.0" date="2026-01-17">
|
||||||
<description>
|
<description>
|
||||||
<p>First public preview release of A-La-Karte</p>
|
<p>First public preview release of A-La-Karte</p>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue