Связывание со статической библиотекой в ​​пакете - PullRequest
0 голосов
/ 16 января 2019

Я пытаюсь обернуть библиотеку 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 *
}
...