Skip to content

Commit 6af9963

Browse files
paulb777PetteriAimonen
authored andcommitted
Swift package manager (nanopb#549)
Add build rules for Swift package manager
1 parent 5572456 commit 6af9963

File tree

8 files changed

+91
-0
lines changed

8 files changed

+91
-0
lines changed

.github/workflows/spm.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: spm
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
swift-build-run:
9+
runs-on: macOS-latest
10+
steps:
11+
- uses: actions/checkout@v2
12+
- name: Build
13+
run: swift build
14+
- name: Run
15+
run: swift test

Package.swift

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
// swift-tools-version:5.0
2+
// The swift-tools-version declares the minimum version of Swift required to build this package.
3+
4+
import PackageDescription
5+
6+
let package = Package(
7+
name: "nanopb",
8+
platforms: [
9+
.macOS(.v10_10),
10+
.iOS(.v8),
11+
.tvOS(.v9),
12+
.watchOS(.v2)
13+
],
14+
15+
targets: [
16+
.target(
17+
name: "nanopb",
18+
path: ".",
19+
sources: [
20+
"pb.h",
21+
"pb_common.h",
22+
"pb_common.c",
23+
"pb_decode.h",
24+
"pb_decode.c",
25+
"pb_encode.h",
26+
"pb_encode.c"
27+
],
28+
publicHeadersPath: "SwiftPackage",
29+
cSettings: [
30+
.define("PB_FIELD_32BIT", to: "1"),
31+
.define("PB_NO_PACKED_STRUCTS", to: "1"),
32+
.define("PB_ENABLE_MALLOC", to: "1"),
33+
]
34+
),
35+
.testTarget(
36+
name: "swift-test",
37+
dependencies: [
38+
"nanopb",
39+
],
40+
path: "spm-test/swift",
41+
cSettings: [
42+
.headerSearchPath("../"),
43+
.define("PB_FIELD_32BIT", to: "1"),
44+
.define("PB_NO_PACKED_STRUCTS", to: "1"),
45+
.define("PB_ENABLE_MALLOC", to: "1"),
46+
]
47+
),
48+
.testTarget(
49+
name: "objc-test",
50+
dependencies: [
51+
"nanopb",
52+
],
53+
path: "spm-test/objc",
54+
cSettings: [
55+
.headerSearchPath("../"),
56+
.define("PB_FIELD_32BIT", to: "1"),
57+
.define("PB_NO_PACKED_STRUCTS", to: "1"),
58+
.define("PB_ENABLE_MALLOC", to: "1"),
59+
]
60+
)
61+
]
62+
)
63+

SwiftPackage/module.modulemap

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
module nanopb {
2+
umbrella header "nanopb.h"
3+
4+
export *
5+
}

SwiftPackage/nanopb.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#import "../pb.h"
2+
#import "../pb_common.h"
3+
#import "../pb_decode.h"
4+
#import "../pb_encode.h"

spm-test/objc/c-header.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#include "nanopb.h"

spm-test/objc/objc-header.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#import "nanopb.h"

spm-test/objc/objc-module.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
@import nanopb;

spm-test/swift/main.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
import nanopb

0 commit comments

Comments
 (0)