• src/xptls/CMakeLists.txt

    From Deucе@VERT to Git commit to main/sbbs/master on Thursday, May 07, 2026 19:11:19
    https://gitlab.synchro.net/main/sbbs/-/commit/85dcf1c43e62351765f5a86d
    Modified Files:
    src/xptls/CMakeLists.txt
    Log Message:
    xptls: honor BOTAN3_VENDORED_TARGET on Win32

    When the parent project builds Botan via ExternalProject (typical
    on Windows where pkg-config is rarely installed), it pre-creates
    an IMPORTED Botan target and exports the cache hint
    BOTAN3_VENDORED_TARGET. Use that target directly instead of
    unconditionally requiring pkg-config — mirrors src/ssh/CMakeLists.txt.

    Fixes "Could NOT find PkgConfig" on Win32 CI runners.

    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Thursday, May 07, 2026 19:19:55
    https://gitlab.synchro.net/main/sbbs/-/commit/31025f03be71e82aaa147740
    Modified Files:
    src/xptls/CMakeLists.txt
    Log Message:
    xptls: depend on xpdev target for portability defines

    Replace the duplicated platform / HAS_STDINT_H / HAS_INTTYPES_H
    checks with a single source of truth: link xpdev. xpdev's
    CMakeLists already publishes the right defines as PUBLIC on its
    target, but xptls only borrowed xpdev's headers without linking,
    so they didn't propagate.

    Add xpdev as a subdirectory if the parent hasn't already (using
    the same xpdev_DONE flag require_lib_dir uses, so syncterm's later require_libs() doesn't double-add).

    Fixes MSVC int8_t/int32_t/uint32_t redefinition errors caused by
    gen_defs.h's typedef block firing without HAS_STDINT_H set.

    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Thursday, May 07, 2026 19:23:43
    https://gitlab.synchro.net/main/sbbs/-/commit/47993deecbb746f364e2c7a1
    Modified Files:
    src/xptls/CMakeLists.txt
    Log Message:
    xptls: set xpdev_DONE in CACHE so parent require_libs sees it

    set(xpdev_DONE TRUE) in xptls's scope doesn't propagate up to
    syncterm's scope where require_libs() runs, so syncterm was
    re-adding the xpdev subdirectory and triggering CMP0002 (duplicate
    target). CACHE INTERNAL makes the flag global, matching how
    require_lib_dir's own set() works inside the macro caller's scope.

    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net