Связывание со статической библиотекой в ​​пакете

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

0 ответов

Другие вопросы по тегам