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 each CMAKE_INSTALL_<dir> cache entry at line 306 before it creates the entry. build/cpack/CMakeLists.txt already suppresses CMD_UNINITIALIZED around Modules/InstallRequiredSystemLibraries.cmake and Modules/CPack.cmake for the same class of problem, so the third include follows the same pattern.
  • Keep the warnings.systemVars setting. Turning it off would silence these ten warnings, but it would also stop CMake reporting every other uninitialized variable with a CMAKE_ 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.

Emacs 29.3 (Org mode 9.6.15)