https://gitlab.synchro.net/main/sbbs/-/commit/4e2d5d8a30773c960d5168b4
Modified Files:
src/ssh/CMakeLists.txt src/syncterm/GNUmakefile
Log Message:
SyncTERM: tolerate trimmed source dist + half-finished DeuceSSH configure
Source-dist tarball ships ssh/CMakeLists.txt without ssh/examples/, so DeuceSSH's add_executable(client/server) targets fail at configure
("Cannot find source file"). cmake's failure mode is "Configuring
done — Generate step failed", which leaves deucessh.pc on disk (the configure_file ran) but no Makefile/build.ninja (generation aborted).
The next gmake then sees deucessh.pc, skips configure, and runs
`cmake --build` against a Makefile-less directory — "No rule to make
target 'Makefile'", with no breadcrumb pointing back at the original
cmake error.
Two fixes:
src/ssh/CMakeLists.txt: gate the example targets on EXISTS so a
trimmed source tree doesn't fail configure. The examples are
EXCLUDE_FROM_ALL anyway and never built as part of a normal target.
src/syncterm/GNUmakefile: replace the deucessh.pc-only sentinel with
a DSSH_BUILD_READY check that requires both deucessh.pc AND a
build-system file (Makefile or build.ninja). A half-finished configure
no longer looks succeeded. Same check applied to the build recipe's
`if [ ! -f $(DEUCESSH_PC) ]` short-circuit.
Co-Authored-By: Claude Opus 4.7 (1M context) <
noreply@anthropic.com>
---
■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net