File tree Expand file tree Collapse file tree 5 files changed +83
-2
lines changed
subprojects/packagefiles/discord_game_sdk Expand file tree Collapse file tree 5 files changed +83
-2
lines changed Original file line number Diff line number Diff line change
1
+ name : musl CI
2
+
3
+ on :
4
+ push :
5
+ branches : ['main']
6
+ pull_request :
7
+ workflow_dispatch :
8
+
9
+ jobs :
10
+ build :
11
+ name : ${{ matrix.config.name }}
12
+ runs-on : ubuntu-24.04
13
+ container : alpine:3.20
14
+
15
+ strategy :
16
+ fail-fast : false
17
+ matrix :
18
+ config :
19
+ - name : Linux (musl)
20
+ use-clang : false
21
+
22
+ - name : Linux Clang (musl, libstdc++)
23
+ use-clang : true
24
+ use-clang_stdlib : false
25
+
26
+ - name : Linux Clang (musl, libc++)
27
+ use-clang : true
28
+ use-clang_stdlib : true
29
+
30
+
31
+ steps :
32
+ - name : Install dependencies
33
+ run : |
34
+ apk update
35
+ apk add wget meson ca-certificates samurai git openssl-dev openssl pkgconf sdl2 sdl2-dev sdl2_mixer-dev sdl2_ttf-dev sdl2_mixer-dev sdl2_image-dev dbus-dev patchelf ${{ ( matrix.config.use-clang == true ) && 'clang18' || 'gcc g++' }} ${{ ( matrix.config.use-clang == true && matrix.config.use-clang_stdlib == true ) && 'libc++ libc++-dev' || '' }}
36
+ echo "CC=${{ matrix.config.use-clang == true && 'clang-18' || 'gcc' }}" >> "$GITHUB_ENV"
37
+ echo "CXX=${{ matrix.config.use-clang == true && 'clang++-18' || 'g++' }}" >> "$GITHUB_ENV"
38
+
39
+ - uses : actions/checkout@v4
40
+ with :
41
+ fetch-depth : ' 0'
42
+
43
+ - name : Configure
44
+ run : meson setup build -Dbuildtype=release -Ddefault_library=shared -Dclang_libcpp=${{ ( matrix.config.use-clang == true && matrix.config.use-clang_stdlib ) && 'enabled' || 'disabled' }}
45
+
46
+ - name : Build
47
+ run : meson compile -C build
48
+
49
+ - name : Upload artifacts
50
+ uses : actions/upload-artifact@v4
51
+ with :
52
+ name : ${{ matrix.config.name }} Executable
53
+ path : build/src/executables/oopetris*
Original file line number Diff line number Diff line change @@ -56,6 +56,34 @@ elif host_machine.system() == 'linux'
56
56
dynamic_lib = ' discord_game_sdk.so'
57
57
if host_machine .cpu_family() == ' x86_64'
58
58
lib_dir = ' lib' / ' x86_64'
59
+
60
+ cat = find_program (' cat' )
61
+
62
+ os_release_info = run_command (
63
+ cat,
64
+ ' /etc/os-release' ,
65
+ check : true ,
66
+ ).stdout().strip().split(' \n ' )
67
+
68
+ linux_distro = ''
69
+
70
+ foreach line : os_release_info
71
+ line_detail = line.split(' =' )
72
+
73
+ if line_detail[0 ] == ' ID'
74
+ linux_distro = line_detail[1 ]
75
+ endif
76
+
77
+ endforeach
78
+
79
+ if linux_distro == ''
80
+ warning (' Couldn\' t detect the linux distro' )
81
+ endif
82
+
83
+ if linux_distro == ' alpine'
84
+ error (' unsuported libc for linux: musl' )
85
+ endif
86
+
59
87
else
60
88
error (' unsuported architectue for linux: ' + host_machine .cpu_family())
61
89
endif
Original file line number Diff line number Diff line change 3
3
' cpp' ,
4
4
' c' ,
5
5
version : ' 3.2.1' ,
6
- meson_version : ' >=1.2 .0' ,
6
+ meson_version : ' >=1.4 .0' ,
7
7
default_options : {
8
8
' cpp_std' : [' c++17' ],
9
9
},
File renamed without changes.
Original file line number Diff line number Diff line change @@ -335,7 +335,7 @@ if build_application
335
335
336
336
discord_sdk_dep = dependency (
337
337
' discord-game-sdk' ,
338
- required : not meson .is_cross_build(),
338
+ required : not meson .is_cross_build() and get_option ( ' build_installer ' ) ,
339
339
# only with msvc we need a static library, all others work without adding __declspec() everywhere
340
340
static : c.get_id() == ' msvc' ,
341
341
default_options : c.get_id() != ' msvc' ? {} : {' default_library' : ' static' },
You can’t perform that action at this time.
0 commit comments