BBS:      TELESC.NET.BR
Assunto:  src/ssh/CMakeLists.txt src/syncterm/GNUmakefile
De:       Deuc¨
Data:     Thu, 30 Apr 2026 10:38:25 -0700
-----------------------------------------------------------
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) 
n
---
  mSynchronetn  hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net

-----------------------------------------------------------
[Voltar]