Story: Silence the GNUInstallDirs uninitialized warnings
Table of Contents
This page documents a story in Sprint 28. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
1. Goal
The Linux CI configure step reports no uninitialized-variable warnings from CMake's own GNUInstallDirs module.
2. Status
| Field | Value |
|---|---|
| State | DONE |
| Parent sprint | Sprint 28 |
| Now | Nothing. |
| Waiting on | Nothing. |
| Next | None. |
| Last touched | 2026-10-15 |
3. Acceptance
- build/cpack/CMakeLists.txt suppresses CMD_UNINITIALIZED around include(GNUInstallDirs).
- The configure step still completes and still populates the CMAKE_INSTALL_* variables.
4. Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|
| Scaffold story: Silence the GNUInstallDirs uninitialized warnings | DONE | 2026-10-15 | 2026-10-15 | Story scaffolding rides this task: documents, sprint wiring, and the scaffold PR. Close it before merging that PR. |
| Suppress the diagnostic around the GNUInstallDirs include | DONE | 2026-10-15 | 2026-10-15 | Initial task for: Silence the GNUInstallDirs uninitialized warnings |
5. Decisions
- Silence the diagnostic; do not change the module and do not drop the
preset settings. The dereference is inside CMake's own
Modules/GNUInstallDirs.cmake, which reads eachCMAKE_INSTALL_<dir>cache entry at line 306 before it creates the entry. build/cpack/CMakeLists.txt already suppressesCMD_UNINITIALIZEDaroundModules/InstallRequiredSystemLibraries.cmakeandModules/CPack.cmakefor the same class of problem, so the third include follows the same pattern. - Keep the
warnings.systemVarssetting. Turning it off would silence these ten warnings, but it would also stop CMake reporting every other uninitialized variable with aCMAKE_prefix, which is the check that found these.
6. Out of scope
- The uninitialized warnings that come from CMake's own compiler-detection modules. Those do not appear in the repository's configure output.