// swift-tools-version: 6.0 import PackageDescription let package = Package( name: "TXTransport", platforms: [ .macOS(.v14), .iOS(.v17), ], products: [ .library(name: "TXTransport", targets: ["TXTransport"]), ], dependencies: [ .package(path: "../TXCore"), ], targets: [ // libssh2 + mbedTLS 静态库切片(vendor/build/build-cssh.sh,library-only)。 .binaryTarget(name: "CSSHCore", path: "../../artifacts/CSSHCore.xcframework"), // 头文件 + modulemap 载体(供 `import CSSH`);库符号来自 CSSHCore。 .target(name: "CSSH", publicHeadersPath: "include"), // mosh(C++) + protobuf-lite 静态库切片(vendor/build/build-mosh.sh,library-only)。 .binaryTarget(name: "MoshCore", path: "../../artifacts/MoshCore.xcframework"), // 头文件 + modulemap 载体(供 `import CMosh` 调 mosh_main);库符号来自 MoshCore。 .target(name: "CMosh", publicHeadersPath: "include"), .target( name: "TXTransport", dependencies: [ "CSSH", "CSSHCore", "CMosh", "MoshCore", .product(name: "TXCore", package: "TXCore"), ], swiftSettings: [.swiftLanguageMode(.v6)], // mosh 是 C++(需 libc++)且 compressor.cc 用 zlib(需 libz); // CommonCrypto 属 libSystem 伞库,Apple 平台自动解析无需显式链接。 linkerSettings: [ .linkedLibrary("c++"), .linkedLibrary("z"), ] ), ] )