forked from AngusJohnson/Clipper2
-
Notifications
You must be signed in to change notification settings - Fork 0
153 lines (153 loc) · 4.38 KB
/
actions_release.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
name: C++
on:
push:
branches: ["main", "drecom/develop"]
pull_request:
branches: ["main", "drecom/develop"]
jobs:
windows-latest:
runs-on: 'windows-latest'
steps:
- uses: actions/checkout@v4
- name: Add MSBuild to PATH
uses: microsoft/[email protected]
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: msbuild version
run: msbuild --version
- name: Get GoogleTest
run: git submodule update --init
- name: Build
run: |
mkdir CPP/build
cd CPP/build
cmake .. -DBUILD_SHARED_LIBS=ON
cmake --build . --config Release --target Clipper2
- name: Archive production artifacts
uses: actions/upload-artifact@v3
with:
name: windows
path: CPP/build/Release/Clipper2.dll
macos-latest:
runs-on: 'macos-latest'
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Xcode version
run: xcodebuild -version
- name: Get GoogleTest
run: git submodule update --init
- name: Build
run: |
mkdir CPP/build
cd CPP/build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release --target Clipper2
- name: Archive production artifacts
uses: actions/upload-artifact@v3
with:
name: macos
path: CPP/build/libClipper2.a
ios-latest:
runs-on: 'macos-latest'
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Get GoogleTest
run: git submodule update --init
- name: Xcode version
run: xcodebuild -version
- name: Build
run: |
mkdir CPP/build
cd CPP/build
cmake .. -G Xcode \
-DCMAKE_SYSTEM_NAME=iOS \
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.0 \
-DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" \
-DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release --target Clipper2
- name: Archive production artifacts
uses: actions/upload-artifact@v3
with:
name: ios
path: CPP/build/Release-iphoneos/libClipper2.a
android-arm64-v8a-latest:
runs-on: 'ubuntu-latest'
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Get GoogleTest
run: git submodule update --init
- uses: actions/setup-java@v3
with:
distribution: 'microsoft'
java-version: '17'
- name: install ndk
uses: nttld/[email protected]
with:
ndk-version: r26b
- name: install ninja-build
run: sudo apt-get install ninja-build
- name: Build
run: |
export CC=/usr/bin/clang
export CXX=/usr/bin/clang++
mkdir CPP/build
cd CPP/build
cmake .. -G Ninja \
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_ROOT}/build/cmake/android.toolchain.cmake \
-DANDROID_NATIVE_API_LEVEL=24 \
-DANDROID_TOOLCHAIN=clang \
-DANDROID_ABI=arm64-v8a
cmake --build . --config Release --target Clipper2
ls
- name: Archive production artifacts
uses: actions/upload-artifact@v3
with:
name: android-arm64-v8a
path: CPP/build/libClipper2.a
armeabi-armeabi-v7a-latest:
runs-on: 'ubuntu-latest'
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Get GoogleTest
run: git submodule update --init
- uses: actions/setup-java@v3
with:
distribution: 'microsoft'
java-version: '17'
- name: install ndk
uses: nttld/[email protected]
with:
ndk-version: r26b
- name: install ninja-build
run: sudo apt-get install ninja-build
- name: Build
run: |
export CC=/usr/bin/clang
export CXX=/usr/bin/clang++
mkdir CPP/build
cd CPP/build
cmake .. -G Ninja \
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_ROOT}/build/cmake/android.toolchain.cmake \
-DANDROID_NATIVE_API_LEVEL=24 \
-DANDROID_TOOLCHAIN=clang \
-DANDROID_ABI=armeabi-v7a
cmake --build . --config Release --target Clipper2
ls
- name: Archive production artifacts
uses: actions/upload-artifact@v3
with:
name: android-armeabi-v7a
path: CPP/build/libClipper2.a