我正在尝试使用swift包管理器将C / Go库包装为swift。为此,我目前创建了一个类型为system-module的包。
它当前包含清单(package.swift),模块映射(module.modulemap)以及库的ar文件及其标头。 (有关模块映射和包说明的内容,请参见下文。)
但是,对于构建,我目前需要手动将库的位置添加到链接器搜索路径。这对于该软件包的潜在未来用户不是特别友好,因此我想以一种方式来设置它,使其可以仅使用存储库中的预编译存档,并在没有任何用户干预的情况下进行链接。有可能吗?
作为参考,以下是当前清单和模块图以及目录布局:
目录:
- .git/
- irmac.h
- libirmac.a
- module.modulemap
- Package.swift
清单:
// swift-tools-version:4.2
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "Cirma",
dependencies: [
// Dependencies declare other packages that this package depends on.
// .package(url: /* package url */, from: "1.0.0"),
]
)
模块图:
module Cirma [system] {
header "irmac.h"
link "irmac"
export *
}