From 748d26d4416bd7fd50398b136c8ba86057ce2349 Mon Sep 17 00:00:00 2001 From: Miles Buechler Date: Fri, 7 Aug 2026 15:55:01 -0600 Subject: [PATCH 1/5] add headers to CMakeLists.txt --- singularity-eos/CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/singularity-eos/CMakeLists.txt b/singularity-eos/CMakeLists.txt index 30a1fdea759..ce7b764f0ce 100644 --- a/singularity-eos/CMakeLists.txt +++ b/singularity-eos/CMakeLists.txt @@ -28,6 +28,8 @@ register_headers( base/spiner_table_utils.hpp base/constants.hpp base/eos_error.hpp + base/eos_concepts.hpp + base/finite_diff.hpp eos/default_variant.hpp eos/eos_variant.hpp eos/eos_stellar_collapse.hpp @@ -39,6 +41,7 @@ register_headers( eos/eos_spiner_rho_sie.hpp eos/eos_spiner_rho_temp.hpp eos/eos_spiner_common.hpp + eos/eos_spiner_constructor.hpp eos/eos_spiner_sie_transforms.hpp eos/eos_davis.hpp eos/eos_gruneisen.hpp From 3041cd958f39f54752013fd2418d42490f3c6756 Mon Sep 17 00:00:00 2001 From: Miles Buechler Date: Sat, 8 Aug 2026 07:05:15 -0600 Subject: [PATCH 2/5] Fix type --- singularity-eos/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/singularity-eos/CMakeLists.txt b/singularity-eos/CMakeLists.txt index ce7b764f0ce..9cb3f8693ff 100644 --- a/singularity-eos/CMakeLists.txt +++ b/singularity-eos/CMakeLists.txt @@ -41,7 +41,7 @@ register_headers( eos/eos_spiner_rho_sie.hpp eos/eos_spiner_rho_temp.hpp eos/eos_spiner_common.hpp - eos/eos_spiner_constructor.hpp + eos/eos_spiner_construction.hpp eos/eos_spiner_sie_transforms.hpp eos/eos_davis.hpp eos/eos_gruneisen.hpp From f349ac8274186f1ee3fd30b5669f36cc8fdb90b0 Mon Sep 17 00:00:00 2001 From: Miles Buechler Date: Sat, 8 Aug 2026 13:44:54 -0600 Subject: [PATCH 3/5] Add a changelog entry --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 69870046758..9a64284383b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ ### Added (new features/APIs/variables/...) ### Fixed (Repair bugs, etc) - +- [[PR647]](https://github.com/lanl/singularity-eos/pull/647) Add missing headers to the registration in singularity-eos/CMakeLists.txt ### Changed (changing behavior/API/variables/...) ### Infrastructure (changes irrelevant to downstream codes) From fa20636733098fde12d1f11ba62cf5da85c7f7d0 Mon Sep 17 00:00:00 2001 From: Jonah Maxwell Miller Date: Sun, 9 Aug 2026 15:55:57 -0400 Subject: [PATCH 4/5] add install check --- .github/workflows/tests.yml | 2 + .github/workflows/tests_minimal.yml | 2 + .github/workflows/tests_minimal_kokkos.yml | 2 + .../singularity-utils/fast-math/logs.hpp | 3 +- utils/scripts/check_installs.sh | 67 +++++++++++++++++++ 5 files changed, 75 insertions(+), 1 deletion(-) create mode 100755 utils/scripts/check_installs.sh diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 9b164e416af..ec8c80b2754 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -52,3 +52,5 @@ jobs: make -j4 make install ctest --output-on-failure + cd .. + bash ./utils/scripts/check_installs.sh diff --git a/.github/workflows/tests_minimal.yml b/.github/workflows/tests_minimal.yml index 52f2e70e361..4bcec88c340 100644 --- a/.github/workflows/tests_minimal.yml +++ b/.github/workflows/tests_minimal.yml @@ -37,3 +37,5 @@ jobs: make -j4 make install ctest --output-on-failure + cd .. + bash ./utils/scripts/check_installs.sh diff --git a/.github/workflows/tests_minimal_kokkos.yml b/.github/workflows/tests_minimal_kokkos.yml index 5038f44b4b1..9c880b9ffa3 100644 --- a/.github/workflows/tests_minimal_kokkos.yml +++ b/.github/workflows/tests_minimal_kokkos.yml @@ -37,3 +37,5 @@ jobs: make -j4 make install ctest --output-on-failure + cd .. + bash ./utils/scripts/check_installs.sh diff --git a/singularity-utils/singularity-utils/fast-math/logs.hpp b/singularity-utils/singularity-utils/fast-math/logs.hpp index 609c2d3b495..8639238e770 100644 --- a/singularity-utils/singularity-utils/fast-math/logs.hpp +++ b/singularity-utils/singularity-utils/fast-math/logs.hpp @@ -1,3 +1,4 @@ + //====================================================================== // © 2021-2026. Triad National Security, LLC. All rights reserved. This // program was produced under U.S. Government contract 89233218CNA000001 @@ -115,7 +116,7 @@ constexpr std::int64_t one = 1; // as_int(1.0) == 2^62 - 2^52 constexpr std::int64_t one_as_int = (one << 62) - (one << 52); // 1./static_cast(as_int(2.0) - as_int(1.0)) == 2^-52 -constexpr double scale_down = 2.22044604925031e-16; +constexpr double scale_down = 2.220446049250313e-16; // as_int(2.0) - as_int(1.0) = 2^52, but note the type constexpr double scale_up = (one << 52); // 2^52 - 1 diff --git a/utils/scripts/check_installs.sh b/utils/scripts/check_installs.sh new file mode 100755 index 00000000000..8362c46d826 --- /dev/null +++ b/utils/scripts/check_installs.sh @@ -0,0 +1,67 @@ +#!/bin/bash + +#------------------------------------------------------------------------------ +# © 2021-2026. Triad National Security, LLC. All rights reserved. This +# program was produced under U.S. Government contract 89233218CNA000001 +# for Los Alamos National Laboratory (LANL), which is operated by Triad +# National Security, LLC for the U.S. Department of Energy/National +# Nuclear Security Administration. All rights in the program are +# reserved by Triad National Security, LLC, and the U.S. Department of +# Energy/National Nuclear Security Administration. The Government is +# granted for itself and others acting on its behalf a nonexclusive, +# paid-up, irrevocable worldwide license in this material to reproduce, +# prepare derivative works, distribute copies to the public, perform +# publicly and display publicly, and to permit others to do so. +#------------------------------------------------------------------------------ + +# This file generated with the assistance of generative AI + +# Report singularity-eos headers that are missing install logic. +# +# Every .hpp under singularity-eos/ is meant to be installed, which means it +# must appear as an argument to a register_headers(...) call in some +# CMakeLists.txt (see cmake/plugins.cmake). A header that is never registered +# is silently left out of the install. This script flags any such header so +# it can be wired into CI as a guard (non-zero exit when any are found). + +set -euo pipefail + +# Move to the repo root (two levels up from utils/scripts/). +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +REPO_ROOT="$(cd "${SCRIPT_DIR}/../.." && pwd)" +cd "${REPO_ROOT}" + +# Directory whose headers must all be installed. +HEADER_ROOT="singularity-eos" + +# Collect the text of every CMakeLists.txt so we can search registrations. +CMAKE_FILES=$(find . -name CMakeLists.txt -not -path './build/*' -not -path './.git/*') + +missing=0 +for f in $(find "${HEADER_ROOT}" -name '*.hpp' | sed "s|^${HEADER_ROOT}/||" | sort); do + base=$(basename "$f") + # A header is considered registered if either its path relative to the + # header root, or just its file name, appears in a CMakeLists.txt. The + # register_headers() paths are relative to the calling CMakeLists.txt, so + # matching on the basename keeps this robust without re-implementing + # CMake's path resolution. + if ! grep -rqF "$f" ${CMAKE_FILES} && ! grep -rqF "$base" ${CMAKE_FILES}; then + if [ "$missing" -eq 0 ]; then + echo "Headers missing register_headers() install logic:" + fi + echo " ${HEADER_ROOT}/$f" + missing=$((missing + 1)) + fi +done + +if [ "$missing" -eq 0 ]; then + echo "OK: every ${HEADER_ROOT} header has register_headers() install logic." + exit 0 +fi + +echo "" +echo "${missing} header(s) have no register_headers call." +echo "Add each to a register_headers(...) call in the appropriate CMakeLists.txt" +echo "(with the matching build condition if it is only needed under an option)," +echo "or exclude it deliberately." +exit 1 From 40a7446edc36fb737674d3bac2bc72da2acb7b3f Mon Sep 17 00:00:00 2001 From: Jonah Maxwell Miller Date: Sun, 9 Aug 2026 15:58:30 -0400 Subject: [PATCH 5/5] changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 69870046758..f7e7812448c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ ### Changed (changing behavior/API/variables/...) ### Infrastructure (changes irrelevant to downstream codes) +- [[PR649]](https://github.com/lanl/singularity-eos/pull/649) Add checks that all header files are installed properly. ### Deprecated (soon to be removed behavior/API/variables/...)