Package.swift 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. // swift-tools-version:5.1
  2. // The swift-tools-version declares the minimum version of Swift required to build this package.
  3. import PackageDescription
  4. let package = Package(
  5. name: "KeePass",
  6. platforms: [.iOS(.v13), .macOS(.v10_12)],
  7. products: [
  8. // The `Binary` manipulate bytes with ease.
  9. .library(
  10. name: "Binary",
  11. targets: ["Binary"]),
  12. // `Crypto` defines cryptographic interfaces used by KeePass.
  13. .library(
  14. name: "Crypto",
  15. targets: ["Crypto"]),
  16. // `KeePass` library defines interfaces to work with KeePass files.
  17. .library(
  18. name: "KeePass",
  19. targets: ["KeePass"]),
  20. ],
  21. targets: [
  22. .target(
  23. name: "KeePass",
  24. dependencies: [ "Binary",
  25. "KDB",
  26. "KDBX"]),
  27. .target(
  28. name: "KDB",
  29. dependencies: [ "Binary",
  30. "Crypto"]),
  31. .target(
  32. name: "KDBX",
  33. dependencies: [ "Binary",
  34. "Crypto",
  35. "Gzip",
  36. "XML"]),
  37. .target(
  38. name: "Binary",
  39. dependencies: []),
  40. .testTarget(
  41. name: "BinaryTests",
  42. dependencies: ["Binary"]),
  43. .target(
  44. name: "Crypto",
  45. dependencies: [ "Binary",
  46. "Sodium",
  47. "Argon2",
  48. "Twofish"]),
  49. .target(
  50. name: "Gzip",
  51. dependencies: ["Binary"]),
  52. .target(
  53. name: "XML",
  54. dependencies: []),
  55. // MARK: KeePass cryptographic libraries
  56. .target(
  57. name: "Sodium",
  58. dependencies: [],
  59. cSettings: [
  60. .headerSearchPath("include/sodium"),
  61. .define("CONFIGURED")
  62. ]),
  63. .target(
  64. name: "Argon2",
  65. dependencies: []),
  66. .target(
  67. name: "Twofish",
  68. dependencies: []),
  69. ]
  70. )