20
20
with :
21
21
host : x86_64-linux-gnu
22
22
23
+ - name : 📁 Collect subpackages
24
+ run : |
25
+ git clone https://github.com/cppp-project/build-aux --depth 1
26
+ git clone https://github.com/cppp-project/cppp-platform --depth 1
27
+
23
28
- name : 📦 Build source distribution
24
29
run : |
25
30
rubisco dist
82
87
sudo apt-get install gcc-${{ matrix.host }} g++-${{ matrix.host }} -y ;
83
88
fi
84
89
90
+ - name : 📁 Collect subpackages
91
+ run : |
92
+ git clone https://github.com/cppp-project/build-aux --depth 1
93
+ git clone https://github.com/cppp-project/cppp-platform --depth 1
94
+
85
95
- name : 🧳 Prepare for building
86
96
run : |
87
97
mkdir -p ${{ steps.rubisco.outputs.pkgname }}-${{ matrix.host }}
98
108
99
109
mkdir build
100
110
cd build
101
- cmake .. -DCMAKE_INSTALL_PREFIX="${{ steps.rubisco.outputs.srcdir }}/${{ steps.rubisco.outputs.pkgname }}-${{ matrix.host }}" -DCMAKE_C_COMPILER=$CC_CROSS -DCMAKE_CXX_COMPILER=$CXX_CROSS -DCMAKE_LINKER=$LD
111
+ cmake .. -DBUILD_TESTING=OFF -DICONV_COMPAT=OFF - DCMAKE_INSTALL_PREFIX="${{ steps.rubisco.outputs.srcdir }}/${{ steps.rubisco.outputs.pkgname }}-${{ matrix.host }}" -DCMAKE_C_COMPILER=$CC_CROSS -DCMAKE_CXX_COMPILER=$CXX_CROSS -DCMAKE_LINKER=$LD
102
112
cmake --build . --config=Release -j $(nproc)
103
113
cmake --install . --config=Release
104
114
cd ..
@@ -120,153 +130,114 @@ jobs:
120
130
tag_name : ${{ steps.rubisco.outputs.tag }}
121
131
files : ./dist/*
122
132
123
- build-macos :
124
-
125
- needs : build-dist
126
-
127
- strategy :
128
- fail-fast : false
129
- matrix :
130
- arch : [
131
- x86_64,
132
- arm64
133
- ]
133
+ build-darwin :
134
134
135
135
runs-on : macos-latest
136
136
137
137
steps :
138
-
139
- # --------------------------------------------collect--------------------------------------------
140
- - uses : maxim-lobanov/setup-xcode@v1
141
- with :
142
- xcode-version : latest-stable
138
+ - name : 📁 Checkout
139
+ uses : actions/checkout@v4
143
140
144
- - name : 🏷️ Get infomations
145
- run : |
146
- tag="${GITHUB_REF#refs/tags/}"
147
- echo "tag=$tag" >> $GITHUB_ENV
148
- echo "pkgname=cppp-reiconv-$tag" >> $GITHUB_ENV
149
- echo "srcdir=$(pwd)" >> $GITHUB_ENV
141
+ - name : 🧰 Setup Rubisco
142
+ id : rubisco
143
+ uses : cppp-project/rubisco@main
144
+ with :
145
+ host : arm64-apple-darwin
150
146
151
147
- name : 📁 Collect dependencies
152
148
run : |
153
- brew install p7zip zip xz wget md5sha1sum
154
- brew install gperf cmake
155
-
156
- - name : 📁 Get source distribution tarball
149
+ brew install coreutils
150
+
151
+ - name : 📁 Collect subpackages
157
152
run : |
158
- wget https://github.com/${{ github.repository }}/releases/download/${{ env.tag }}/${{ env.pkgname }}.tar.gz
159
- tar zxvf ${{ env.pkgname }}.tar.gz
160
- mv ${{ env.pkgname }}/* .
161
-
162
- # --------------------------------------------build--------------------------------------------
163
- - name : 🧳 Prepare for binary distribution building
153
+ git clone https://github.com/cppp-project/build-aux --depth 1
154
+ git clone https://github.com/cppp-project/cppp-platform --depth 1
155
+
156
+ - name : 🧳 Prepare for building
164
157
run : |
158
+ mkdir -p ${{ steps.rubisco.outputs.pkgname }}-arm64-apple-darwin
165
159
mkdir -p dist
166
-
160
+
167
161
- name : 🛠️ Build binary distribution
168
162
run : |
169
- export CC_CROSS="clang"
170
- export CXX_CROSS="clang++"
171
-
172
163
mkdir build
173
164
cd build
174
- cmake .. -DCMAKE_INSTALL_PREFIX=${{ env. srcdir }}/${{ env. pkgname }}-${{ matrix.arch }}-darwin- apple -DCMAKE_C_COMPILER=$CC_CROSS -DCMAKE_CXX_COMPILER=$CXX_CROSS -DCMAKE_C_FLAGS="${CMAKE_C_FLAGS} -arch ${{ matrix.arch }}" -DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS} -arch ${{ matrix.arch }} "
175
- cmake --build . --config=Release
176
- cmake --install .
165
+ cmake .. -DBUILD_TESTING=OFF -DICONV_COMPAT=OFF - DCMAKE_INSTALL_PREFIX=" ${{ steps.rubisco.outputs. srcdir }}/${{ steps.rubisco.outputs. pkgname }}-arm64- apple-darwin "
166
+ cmake --build . --config=Release -j $(nproc)
167
+ cmake --install . --config=Release
177
168
cd ..
178
-
169
+
179
170
- name : 📦 Make packages
180
171
run : |
181
- tar cvf ${{ env.pkgname }}-${{ matrix.arch }}-darwin-apple.tar ${{ env.pkgname }}-${{ matrix.arch }}-darwin-apple
182
- zip -r -9 dist/${{ env.pkgname }}-${{ matrix.arch }}-darwin-apple.zip ${{ env.pkgname }}-${{ matrix.arch }}-darwin-apple
183
- 7z a dist/${{ env.pkgname }}-${{ matrix.arch }}-darwin-apple.7z ${{ env.pkgname }}-${{ matrix.arch }}-darwin-apple
184
- xz -c -9 -k ${{ env.pkgname }}-${{ matrix.arch }}-darwin-apple.tar > dist/${{ env.pkgname }}-${{ matrix.arch }}-darwin-apple.tar.xz
185
- gzip -c -9 -k ${{ env.pkgname }}-${{ matrix.arch }}-darwin-apple.tar > dist/${{ env.pkgname }}-${{ matrix.arch }}-darwin-apple.tar.gz
172
+ tar cvf dist/${{ steps.rubisco.outputs.pkgname }}-arm64-apple-darwin.tar ${{ steps.rubisco.outputs.pkgname }}-arm64-apple-darwin
173
+ xz -9 dist/${{ steps.rubisco.outputs.pkgname }}-arm64-apple-darwin.tar
186
174
175
+ - name : 📦 Generate checksum
176
+ run : |
187
177
cd dist
188
- for i in $(ls) ; do md5sum $i > $i.md5 ; done
189
- cd ..
190
- # --------------------------------------------publish--------------------------------------------
178
+ for i in $(ls) ; do sha256sum $i > $i.sha256 ; done
179
+ cd ..
191
180
192
181
- name : ⬆️ Create release and upload assets
193
182
uses : softprops/action-gh-release@v1
194
183
with :
195
- tag_name : ${{ env .tag }}
184
+ tag_name : ${{ steps.rubisco.outputs .tag }}
196
185
files : ./dist/*
197
186
198
- build-msvc :
199
-
200
- needs : build-dist
201
-
202
- strategy :
203
- fail-fast : false
204
- matrix :
205
- include :
206
- - { arch: amd64, msvc_arch: x64 }
207
- - { arch: i386, msvc_arch: Win32 }
208
- - { arch: arm64, msvc_arch: ARM64 }
209
- - { arch: arm, msvc_arch: ARM }
210
-
211
- runs-on : windows-latest
212
-
213
- steps :
214
-
215
- # --------------------------------------------collect--------------------------------------------
216
- - name : 🧳 Set up MSVC
217
- uses : microsoft/setup-msbuild@v1
218
-
219
- - name : 🏷️ Get infomations
220
- run : |
221
- $tag="$env:GITHUB_REF_NAME"
222
- echo "tag=$tag" >> $env:GITHUB_ENV
223
- echo "pkgname=cppp-reiconv-$tag" >> $env:GITHUB_ENV
224
- echo "srcdir=$($PWD.Path)" >> $env:GITHUB_ENV
225
-
226
- - name : 📁 Collect dependencies
227
- run : |
228
- choco install 7zip.commandline zip gzip dos2unix wget mingw -y
229
-
230
- - name : 📁 Get source distribution tarball
231
- run : |
232
- wget https://github.com/${{ github.repository }}/releases/download/${{ env.tag }}/${{ env.pkgname }}.tar.gz
233
- tar zxvf ${{ env.pkgname }}.tar.gz
234
- Move-Item -Path ${{ env.pkgname }}\* -Destination .
235
-
236
- - name : 🧳 Prepare for binary distribution building
237
- run : |
238
- mkdir dist
239
-
240
- - name : 🛠️ Build binary distribution
241
- run : |
242
- mkdir build
243
- cd build
244
- cmake .. -DCMAKE_INSTALL_PREFIX=${{ env.srcdir }}/${{ env.pkgname }}-${{ matrix.arch }}-windows-msvc -A ${{ matrix.msvc_arch }}
245
- cmake --build . --config=Release
246
- cmake --install .
247
- cd ..
248
-
249
- - name : 📦 Make packages
250
- run : |
251
- tar cvf ${{ env.pkgname }}-${{ matrix.arch }}-windows-msvc.tar ${{ env.pkgname }}-${{ matrix.arch }}-windows-msvc
252
- zip -r -9 dist/${{ env.pkgname }}-${{ matrix.arch }}-windows-msvc.zip ${{ env.pkgname }}-${{ matrix.arch }}-windows-msvc
253
- 7z a dist/${{ env.pkgname }}-${{ matrix.arch }}-windows-msvc.7z ${{ env.pkgname }}-${{ matrix.arch }}-windows-msvc
254
- xz -9 -k ${{ env.pkgname }}-${{ matrix.arch }}-windows-msvc.tar
255
- gzip -9 -k ${{ env.pkgname }}-${{ matrix.arch }}-windows-msvc.tar
256
- mv ${{ env.pkgname }}-${{ matrix.arch }}-windows-msvc.tar.xz dist
257
- mv ${{ env.pkgname }}-${{ matrix.arch }}-windows-msvc.tar.gz dist
258
-
259
- cd dist
260
- Get-ChildItem | ForEach-Object {
261
- md5sum $_.Name > ($_.Name + ".md5")
262
- dos2unix ($_.Name + ".md5")
263
- }
264
- cd ..
265
-
266
- # --------------------------------------------publish--------------------------------------------
267
-
268
- - name : ⬆️ Create release and upload assets
269
- uses : softprops/action-gh-release@v1
270
- with :
271
- tag_name : ${{ env.tag }}
272
- files : ./dist/*
187
+ # Rubisco cannot been install due to encoding problems on Windows.
188
+ # build-windows:
189
+
190
+ # runs-on: windows-latest
191
+
192
+ # steps:
193
+ # - name: 📁 Checkout
194
+ # uses: actions/checkout@v4
195
+
196
+ # - name: 🧰 Setup Rubisco
197
+ # id: rubisco
198
+ # uses: cppp-project/rubisco@main
199
+ # with:
200
+ # host: x86_64-windows-msvc
201
+
202
+ # - name: 📁 Collect dependencies
203
+ # run: |
204
+ # choco install zip dos2unix mingw -y
205
+
206
+ # - name: 📁 Collect subpackages
207
+ # run: |
208
+ # git clone https://github.com/cppp-project/build-aux --depth 1
209
+ # git clone https://github.com/cppp-project/cppp-platform --depth 1
210
+
211
+ # - name: 🧳 Prepare for building
212
+ # run: |
213
+ # mkdir -p ${{ steps.rubisco.outputs.pkgname }}-x86_64-windows-msvc
214
+ # mkdir -p dist
215
+
216
+ # - name: 🛠️ Build binary distribution
217
+ # run: |
218
+ # mkdir build
219
+ # cd build
220
+ # cmake .. -DBUILD_TESTING=OFF -DICONV_COMPAT=ON -DCMAKE_INSTALL_PREFIX="${{ steps.rubisco.outputs.srcdir }}/${{ steps.rubisco.outputs.pkgname }}-x86_64-windows-msvc"
221
+ # cmake --build . --config=Release -j $(nproc)
222
+ # cmake --install . --config=Release
223
+ # cd ..
224
+
225
+ # - name: 📦 Make packages
226
+ # run: |
227
+ # tar cvf dist/${{ steps.rubisco.outputs.pkgname }}-x86_64-windows-msvc.tar ${{ steps.rubisco.outputs.pkgname }}-x86_64-windows-msvc
228
+ # xz -9 dist/${{ steps.rubisco.outputs.pkgname }}-x86_64-windows-msvc.tar
229
+
230
+ # - name: 📦 Generate checksum
231
+ # run: |
232
+ # cd dist
233
+ # Get-ChildItem | ForEach-Object {
234
+ # sha256sum $_.Name > ($_.Name + ".sha256")
235
+ # dos2unix ($_.Name + ".sha256")
236
+ # }
237
+ # cd ..
238
+
239
+ # - name: ⬆️ Create release and upload assets
240
+ # uses: softprops/action-gh-release@v1
241
+ # with:
242
+ # tag_name: ${{ steps.rubisco.outputs.tag }}
243
+ # files: ./dist/*
0 commit comments