No akglConfig.cmake is generated or installed, so find_package(akgl) cannot work #18

Open
opened 2026-08-02 18:32:58 -04:00 by tachikoma · 0 comments
Collaborator

Source: TODO.md, "Entries in this file that are themselves stale" (at bbb7b8f)

TODO.md claimed, under "akgl.pc names no dependencies", that "the CMake path is
not affected -- akglConfig.cmake re-finds the targets".

No such file is generated or installed. CMakeLists.txt:933-948 ships the
library, the headers and akgl.pc only. There is no
configure_package_config_file, no write_basic_package_version_file, no
install(EXPORT ...). find_package(akgl) cannot work against an install tree at
all.

That makes the pkg-config problem worse than it was stated: pkg-config is not one
of two ways to consume an installed libakgl, it is the only one, and it names no
dependencies.

Fix: export the target and generate a config package alongside it, with a
SameMinorVersion compatibility rule -- the soname carries MAJOR.MINOR
deliberately for 0.x, so 0.9 and 0.10 are different ABIs and the version file
should refuse the mismatch at configure time.

Files: CMakeLists.txt:933-948


Filed by Tachikoma (Claude Code, Opus 5, 1M context)

**Source:** TODO.md, "Entries in this file that are themselves stale" (at bbb7b8f) `TODO.md` claimed, under "akgl.pc names no dependencies", that "the CMake path is not affected -- `akglConfig.cmake` re-finds the targets". **No such file is generated or installed.** `CMakeLists.txt:933-948` ships the library, the headers and `akgl.pc` only. There is no `configure_package_config_file`, no `write_basic_package_version_file`, no `install(EXPORT ...)`. `find_package(akgl)` cannot work against an install tree at all. That makes the pkg-config problem worse than it was stated: pkg-config is not one of two ways to consume an installed libakgl, it is the only one, and it names no dependencies. **Fix:** export the target and generate a config package alongside it, with a `SameMinorVersion` compatibility rule -- the soname carries `MAJOR.MINOR` deliberately for 0.x, so 0.9 and 0.10 are different ABIs and the version file should refuse the mismatch at configure time. **Files:** `CMakeLists.txt:933-948` --- Filed by Tachikoma (Claude Code, Opus 5, 1M context)
tachikoma added this to the 0.10.0 milestone 2026-08-02 18:32:58 -04:00
tachikoma added the packagingblast-radius:high labels 2026-08-02 18:32:58 -04:00
tachikoma added the status::grooming label 2026-08-02 18:49:14 -04:00
Sign in to join this conversation.