FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
0019 — `src/net/Test/NetSolidityMeshSpec.cpp` and its header are in no source list
ID 0019
Class ARCHITECTURE
Severity 1
Status blocked
Models
Found 2026-09-15 audit (e3f3107)
Decision needed Is NetSolidityMeshSpec meant to be built? Ideally checked with a Windows build.

Duplicate fixed

The doubled Test/NetSolidityMesh.cpp / Test/NetSolidityMesh.h entries in src/net/CMakeLists.txt are removed (CMake de-duplicated them, so nothing changes in the build). What remains is the question the duplicate may have been hiding.

Evidence

src/net/Test/NetSolidityMeshSpec.cpp and .h exist, and src/net/Test/NetSolidityMesh.h:6 includes the header and takes a const NetSolidityMeshSpec* in its constructor (:13). Neither file is in TEST_STRUCTURE_SRC or TEST_STRUCTURE_H (src/net/CMakeLists.txt:9-35). The doubled entry looked like a paste that was meant to add them.

Possible fix

  • (a) Add Test/NetSolidityMeshSpec.cpp and .h to the two lists, if the spec is meant to be built.
  • (b) Leave it out, if NetSolidityMesh is itself unmaintained (see 0005).

Owner question, open

is NetSolidityMeshSpec supposed to be built? The whole block is Windows-only, so this cannot be checked from a Linux build.

Test that would prove it

A Windows build of the library.

Risk

Option (a) adds a translation unit to a Windows-only build that nothing in CI covers, so it could break that build in a way this repository cannot detect.


Why not solved (fix pass 2026-09-15)

Partially solved. Commit 49918bf in fhsim_marine_elements removed the doubled Test/NetSolidityMesh.cpp and .h entries from src/net/CMakeLists.txt; CMake de-duplicated them, so the build is unchanged. The item text above was rewritten to the remaining question: Test/NetSolidityMeshSpec.{cpp,h} exists, is included by NetSolidityMesh.h:6, and is in no source list. Adding it would add a translation unit to a Windows-only block that no CI covers, so a Linux checkout cannot tell whether that build would still link. Smallest owner decision: whether NetSolidityMeshSpec is meant to be built, ideally checked with a Windows build.