From the 2026-08-02 full-repo review (finding F-05 + F-18f). Verified by installing to a scratch prefix.
Evidence: CMakeLists.txt:216-232 installs include/ + libnumsim_codegen.a only. No export set, no *Config.cmake, no version file, no pkg-config, no LICENSE. The installed headers #include <numsim_cas/...> and <tmech/...>, which are not installed — so the tree cannot be consumed even by hand. find_package(NumSim_CodeGen) is impossible. (Export set is documented as blocked on numsim-cas exporting targets.)
Also: the install() rules are unconditional, so a superproject consuming this repo via add_subdirectory gets numsim-codegen headers/lib in its make install with no opt-out.
Impact: shipping install rules that produce a broken tree is worse than shipping none; and subproject consumers get install pollution.
Proposal (interim, until the numsim-cas export-set lands):
- Gate install rules behind
option(NUMSIM_CODEGEN_INSTALL "EXPERIMENTAL: no CMake package config yet" OFF) (or PROJECT_IS_TOP_LEVEL).
install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/doc/numsim-codegen).
- README: state explicitly that add_subdirectory/FetchContent is the only supported consumption today.
Proposal (real fix, blocked upstream): install(TARGETS ... EXPORT NumSimCodegenTargets) + configure_package_config_file() with find_dependency(numsim_cas) + write_basic_package_version_file(... COMPATIBILITY SameMinorVersion); CI job that installs and configures a 3-line consumer.
From the 2026-08-02 full-repo review (finding F-05 + F-18f). Verified by installing to a scratch prefix.
Evidence:
CMakeLists.txt:216-232installsinclude/+libnumsim_codegen.aonly. No export set, no*Config.cmake, no version file, no pkg-config, no LICENSE. The installed headers#include <numsim_cas/...>and<tmech/...>, which are not installed — so the tree cannot be consumed even by hand.find_package(NumSim_CodeGen)is impossible. (Export set is documented as blocked on numsim-cas exporting targets.)Also: the
install()rules are unconditional, so a superproject consuming this repo viaadd_subdirectorygets numsim-codegen headers/lib in itsmake installwith no opt-out.Impact: shipping install rules that produce a broken tree is worse than shipping none; and subproject consumers get install pollution.
Proposal (interim, until the numsim-cas export-set lands):
option(NUMSIM_CODEGEN_INSTALL "EXPERIMENTAL: no CMake package config yet" OFF)(orPROJECT_IS_TOP_LEVEL).install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/doc/numsim-codegen).Proposal (real fix, blocked upstream):
install(TARGETS ... EXPORT NumSimCodegenTargets)+configure_package_config_file()withfind_dependency(numsim_cas)+write_basic_package_version_file(... COMPATIBILITY SameMinorVersion); CI job that installs and configures a 3-line consumer.