diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..47f78cb --- /dev/null +++ b/Package.swift @@ -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 +) diff --git a/include/module.modulemap b/include/module.modulemap new file mode 100644 index 0000000..ed116dc --- /dev/null +++ b/include/module.modulemap @@ -0,0 +1,4 @@ +module libolm { + header "olm/olm.h" + export * +} diff --git a/xcode/OLMKit/include/module.modulemap b/xcode/OLMKit/include/module.modulemap new file mode 100644 index 0000000..a13330d --- /dev/null +++ b/xcode/OLMKit/include/module.modulemap @@ -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 * +}