내 프로젝트에 2 개의 종속성이 있습니다 libevent
및 libressl
입니다. 둘 다 로컬에 설치되어 있습니다 (각각 /usr/local/include
및 /usr/local/opt/libressl/include
)Swift 패키지 관리자 및 libevent를 사용하여/usr/local /을 정확하게 처리하십시오.
내가 찾고있는 것은 SPM이 자동으로 해당 디렉토리에서 검색하는 것입니다.
나는 이것을 달성하기 위해 신속한 빌드에 플래그를 전달할 수 있음을 알고 있습니다. 궁극적 인 목표는 Xcode에서 커스텀 빌드 플래그를 지속적으로 추가하지 않고 명령 행에서 xcode 프로젝트를 적절하게 생성 할 수 있다는 것입니다.
PostgreSQL에 대한 사용자 지정 설정을 입력 할 필요가 없기 때문에 가능하다고 확신합니다.
// swift-tools-version:4.0
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "CEvent",
providers: [
.brew(["libevent"]),
.apt(["libevent-dev"])
],
products: [
// Products define the executables and libraries produced by a package, and make them visible to other packages.
.library(
name: "CEvent",
targets: ["CEvent"]),
],
dependencies: [
],
targets: [
.target(
name: "CEvent",
dependencies: []
),
]
)
모듈지도 :
스위프트 - 도구 버전은 참조
Package.swift 4.0.x의에 있습니다
module CEvent [system] {
header "shim.h"
link "event"
export *
}
그리고 내 현재 빌드 스크립트 (build.sh) :
#!/usr/local/bin/fish
swift build -Xcc -O0 -Xcc -fblocks -Xswiftc -lbcrypt -Xswiftc -I/usr/local/include -Xswiftc -L/usr/local/lib -Xswiftc -ltls -Xswiftc -lcrypto -Xswiftc -lssl -Xswiftc -L/usr/local/opt/postgresql/lib -Xswi$
A 내가 이것을 원한다는 이유로. 종속성을 신속하게 추가/업데이트/제거하면 새 xcode 프로젝트를 생성하고 해당 빌드 머신에서 설정을 수정하지 않아도됩니다. 뿐만 아니라 apt/ubuntu/usr/lib를 사용합니다.
감사합니다. 그것은 장래의 서버 측에서 신속하게 도움을 줄 것입니다. 비록 내가 현재 리눅스의 libressl에서 segfaults로 고심하고 있지만, 나는 변화를 만들었다. 하나의 빠른 사이드 바를 추가하고 싶습니다. libsodium 1.0.12/13이 감사되었습니다. 양조에 있다면 업데이트하십시오! –