https://gitlab.synchro.net/main/sbbs/-/commit/3d5d8aa88963068fde3f8d54
Modified Files:
src/doors/syncrpg/door/CMakeLists.txt src/doors/syncscumm/door/CMakeLists.txt
Log Message:
syncscumm/syncrpg: harmonize the libsndfile link-flag handoff
syncscumm and syncrpg are the two termgfx doors whose final link is done
by a foreign build system (ScummVM's make, EasyRPG's CMake), so each has
to transcribe libtermgfx.a's external libs across that seam via a Stage-1-written sndfile_libs.txt. The two had drifted into different
solutions for the same directory-scoping trap (an imported SndFile
target created by find_package inside the termgfx add_subdirectory() is
not visible in the parent door scope):
- syncrpg fixed the DETECTION -- it re-runs find_package(SndFile CONFIG
QUIET) in the parent scope (a cached no-op second lookup) so the
SndFile::sndfile target becomes visible and its resolved library path
is emitted; it also reads IMPORTED_LOCATION_RELEASE and is MSVC-aware.
- syncscumm had only a SAFETY NET keyed on termgfx's
TERMGFX_WITH_SNDFILE compile definition, falling back to -lsndfile.
Give both doors the same belt-and-suspenders block: syncrpg's parent-scope re-find_package detection (the more complete path -- emits the real
library path, handles the per-configuration MSVC import) FOLLOWED BY the compile-definition safety net (catches any unforeseen way the link
interface presents libsndfile). The safety net is skipped on MSVC, where
vcpkg auto-links libsndfile and this handoff file is unused. The code is
now identical between the two files; only the comments differ, each
naming its own foreign linker.
No behavior change on the pkg-config path (both still emit -lsndfile);
this closes the remaining divergence so the next of these doors can't
regress one copy without the other. Follow-up to the syncscumm libsndfile CONFIG-path link fix reported by Accession on IRC.
Co-Authored-By: Claude Opus 4.8 (1M context) <
noreply@anthropic.com>
--- SBBSecho 3.37-Linux
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)