Xcode: Add support of Swift Package Manager
Made by Johennes at https://github.com/matrix-org/olm/issues/51#issuecomment-809128833
This commit is contained in:
parent
3745ea57bb
commit
09fbb9e966
3 changed files with 69 additions and 0 deletions
52
Package.swift
Normal file
52
Package.swift
Normal file
|
@ -0,0 +1,52 @@
|
|||
// swift-tools-version:5.3
|
||||
|
||||
import PackageDescription
|
||||
|
||||
let major = 3, minor = 2, patch = 2
|
||||
|
||||
let package = Package(
|
||||
name: "Olm",
|
||||
platforms: [.iOS(.v8), .macOS(.v10_10)],
|
||||
products: [
|
||||
.library(name: "libolm", targets: ["libolm"]),
|
||||
.library(name: "OLMKit", targets: ["OLMKit"])
|
||||
],
|
||||
targets: [
|
||||
.target(
|
||||
name: "libolm",
|
||||
path: ".",
|
||||
sources: [
|
||||
"src",
|
||||
"lib/crypto-algorithms/aes.c",
|
||||
"lib/crypto-algorithms/sha256.c",
|
||||
"lib/curve25519-donna/curve25519-donna.c"
|
||||
],
|
||||
cSettings: [
|
||||
.headerSearchPath("lib"),
|
||||
.define("OLMLIB_VERSION_MAJOR", to: "\(major)"),
|
||||
.define("OLMLIB_VERSION_MINOR", to: "\(minor)"),
|
||||
.define("OLMLIB_VERSION_PATCH", to: "\(patch)")
|
||||
]
|
||||
),
|
||||
.target(
|
||||
name: "OLMKit",
|
||||
dependencies: ["libolm"],
|
||||
path: "xcode/OLMKit",
|
||||
exclude: ["Info.plist"],
|
||||
cSettings: [
|
||||
.headerSearchPath("..")
|
||||
]
|
||||
),
|
||||
.testTarget(
|
||||
name: "OLMKitTests",
|
||||
dependencies: ["OLMKit"],
|
||||
path: "xcode/OLMKitTests",
|
||||
exclude: ["Info.plist"],
|
||||
cSettings: [
|
||||
.headerSearchPath("..")
|
||||
]
|
||||
)
|
||||
],
|
||||
cLanguageStandard: .c99,
|
||||
cxxLanguageStandard: .cxx11
|
||||
)
|
4
include/module.modulemap
Normal file
4
include/module.modulemap
Normal file
|
@ -0,0 +1,4 @@
|
|||
module libolm {
|
||||
header "olm/olm.h"
|
||||
export *
|
||||
}
|
13
xcode/OLMKit/include/module.modulemap
Normal file
13
xcode/OLMKit/include/module.modulemap
Normal file
|
@ -0,0 +1,13 @@
|
|||
module OLMKit {
|
||||
header "../OLMAccount.h"
|
||||
header "../OLMSession.h"
|
||||
header "../OLMMessage.h"
|
||||
header "../OLMUtility.h"
|
||||
header "../OLMInboundGroupSession.h"
|
||||
header "../OLMOutboundGroupSession.h"
|
||||
header "../OLMPkEncryption.h"
|
||||
header "../OLMPkDecryption.h"
|
||||
header "../OLMPkSigning.h"
|
||||
header "../OLMSAS.h"
|
||||
export *
|
||||
}
|
Loading…
Reference in a new issue