CNA-BUG-230: cna_define_shared_runtime_deferred's comment says cna_graphics_ext and cna_devices_ext exist only with CNA_CNAEXT; modules/CMakeLists.txt always creates both

CNA snapshot 009d40f5  ·  Known Issues › Current bugs  ·  source links pinned to 009d40f5

✓

Evidence basis: source-verified at the pinned commit; tests exist (not executed for this page). Claims on this page were checked by reading the CNA source at commit 009d40f5; unless a sentence says otherwise, nothing here was built or executed. Nothing on this page was executed unless the Evidence section says so.

The shared-library composition keeps an if(TARGET) filter justified by a comment that the extension targets are optional, but both are defined unconditionally, so the comment misstates the module model.

Identifier
CNA-BUG-230
Category
Bug
Subsystem
Documentation & release tooling
Status
Open
Verified against
CNA 009d40f5 (009d40f5dd085c4e674d3479675fac84b12b3e0a)
Severity
Low (a triage suggestion, not a project priority)
Evidence basis
Source-verified: read at TARGET, not executed
Tests touching this area
Yes: see Current tests
Affected contract
cmake/SharedRuntimeLibrary.cmake cna_define_shared_runtime_deferred (composition of libcna.so under CNA_SHARED_LIBRARY)

Expected behaviour

The comment should say why a runtime part might not exist; a maintainer changing the CNA_SHARED_LIBRARY composition relies on it to know which targets are optional.

Actual behaviour at TARGET

cmake/SharedRuntimeLibrary.cmake (cna_define_shared_runtime_deferred) says "cna_graphics_ext and cna_devices_ext exist only with CNA_CNAEXT, and the umbrella has always tolerated naming them regardless". modules/CMakeLists.txt adds devices-ext and graphics-ext unconditionally, both module files create their targets unconditionally, and CNA_CNAEXT / CNA_DEVICES only select compile definitions and guarded code. For the two targets the comment names, the filter therefore never triggers; the reason given for it is not the one that holds.

Source locations

Evidence

Checked by reading at 009d40f5; not executed. The comment has no behavioural effect.

Focused reproduction

No focused reproduction is known. Nothing has been invented here; the evidence above is what exists.

Current tests

None; the shared-library composition is exercised by CNA_SHARED_LIBRARY builds, not by a comment check.

Regression test

None applies; correct the comment (or drop the filter if no optional part remains).

Blast radius

Maintainers reading the shared-library code; builds are unaffected.

Workaround

No workaround is known.

The same subject is explained at several altitudes. These are the neighbouring pages at each one.

Known issues
Bug index