Я пытаюсь обернуть библиотеку C / Go в swift, используя менеджер пакетов swift. Для этого я сейчас создал пакет типа system-module.
В настоящее время он содержит манифест (package.swift), карту модуля (module.modulemap), а также файл ar библиотеки и ее заголовок. (см. ниже содержимое карты модуля и описание пакета).
Однако для сборки мне в настоящее время необходимо вручную добавить местоположение библиотеки в путь поиска компоновщика. Это не особенно удобно для потенциальных будущих пользователей пакета, поэтому я хотел бы настроить его таким образом, чтобы он мог просто использовать предварительно скомпилированный архив в репозитории и связывать его без какого-либо вмешательства пользователя. Это возможно?
Для справки: текущая карта манифеста и модуля, а также макет каталога:
Каталог:
- .git/
- irmac.h
- libirmac.a
- module.modulemap
- Package.swift
Manifest:
// 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 *
}