Split out of the 2026-08-21 repository review, deferred from #112 as a product question rather than a defect.
pybind_root is documented as a build.toml option in README.md and docs/USAGE.md §5.2, but no generator, template, or recipe reads it. A library that sets it gets whatever the default layout would have produced, with nothing said.
#112 added a top-level key whitelist to xmsconan/toml_utils.py that rejects unknown build.toml keys. pybind_root was deliberately kept in the whitelist so consumers that set it keep building — which means the key is currently accepted, documented, and inert.
Two ways out:
- Implement it — make the generator honor it wherever the pybind sources root is assumed, and add an option-table row that says what it does.
- Retire it — drop it from
KNOWN_KEYS, delete the two doc references, and grep the consumer build.toml files for it first (it appears in at least xmscore's).
Either way the whitelist entry and the docs should end up agreeing with the code.
Split out of the 2026-08-21 repository review, deferred from #112 as a product question rather than a defect.
pybind_rootis documented as abuild.tomloption inREADME.mdanddocs/USAGE.md§5.2, but no generator, template, or recipe reads it. A library that sets it gets whatever the default layout would have produced, with nothing said.#112 added a top-level key whitelist to
xmsconan/toml_utils.pythat rejects unknownbuild.tomlkeys.pybind_rootwas deliberately kept in the whitelist so consumers that set it keep building — which means the key is currently accepted, documented, and inert.Two ways out:
KNOWN_KEYS, delete the two doc references, and grep the consumerbuild.tomlfiles for it first (it appears in at least xmscore's).Either way the whitelist entry and the docs should end up agreeing with the code.