Skip to content

Commit b400b99

Browse files
committed
CI: build SSR on Windows
1 parent 6652112 commit b400b99

File tree

1 file changed

+88
-0
lines changed

1 file changed

+88
-0
lines changed
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
name: SSR for Windows, using MSYS2
2+
on: [push, pull_request]
3+
jobs:
4+
build-win:
5+
runs-on: windows-latest
6+
defaults:
7+
run:
8+
shell: msys2 {0}
9+
steps:
10+
- name: Install MSYS2
11+
uses: msys2/setup-msys2@v2
12+
with:
13+
msystem: UCRT64
14+
install: >-
15+
git
16+
pacboy: >-
17+
asio:p
18+
autotools:p
19+
fftw:p
20+
fmt:p
21+
jack2:p
22+
libsndfile:p
23+
libmysofa:p
24+
libxml2:p
25+
mesa:p
26+
qt5-base:p
27+
vrpn:p
28+
yarn:p
29+
- name: checkout websocketpp
30+
uses: actions/checkout@v3
31+
with:
32+
repository: zaphoyd/websocketpp
33+
path: websocketpp
34+
- name: Get SSR source code
35+
uses: actions/checkout@v3
36+
with:
37+
submodules: true
38+
# This is required to be able to fetch tags,
39+
# see https://github.com/actions/checkout/issues/290:
40+
fetch-depth: 0
41+
path: ssr
42+
- name: autogen
43+
working-directory: ssr
44+
run: |
45+
./autogen.sh
46+
- name: fetch Git tags
47+
working-directory: ssr
48+
run: |
49+
# Fetch tags for obtaining the version number,
50+
# see https://github.com/actions/checkout/issues/290:
51+
git fetch --tags --force
52+
- name: configure
53+
working-directory: ssr
54+
run: |
55+
CONFIGURE_OPTIONS=(
56+
--enable-browser-gui
57+
--enable-fudi-interface
58+
--enable-gui
59+
--enable-ip-interface
60+
#--enable-polhemus
61+
#--enable-razor
62+
--enable-sofa
63+
#--enable-vrpn
64+
--enable-websocket-interface
65+
--disable-ecasound
66+
--disable-intersense
67+
CPPFLAGS="-I/ucrt64/include -I`pwd`/../websocketpp -D_WEBSOCKETPP_CPP11_THREAD_"
68+
LDFLAGS=-L/ucrt64/lib
69+
LIBS="-lws2_32 -lwsock32 -lglu32 -lopengl32"
70+
)
71+
./configure --disable-dependency-tracking "${CONFIGURE_OPTIONS[@]}"
72+
- name: upload config.log
73+
if: failure()
74+
uses: actions/upload-artifact@v3
75+
with:
76+
name: config.log
77+
path: ssr/config.log
78+
- name: make
79+
working-directory: ssr
80+
run: |
81+
make
82+
# TODO: run "make install" (specifying a suitable installation location)
83+
# and then upload all installed files
84+
- name: upload executables
85+
uses: actions/upload-artifact@v3
86+
with:
87+
name: executables
88+
path: ssr/src/ssr-*

0 commit comments

Comments
 (0)