When creating threads allow an Id to be returned as well; For Win32 threading, use...
[SquirrelJME.git] / .gitlab-ci.yml
blob9a8646d555430c8822e05d62ac02280bec06a379
1 # ---------------------------------------------------------------------------
2 # SquirrelJME
3 #     Copyright (C) Stephanie Gawroriski <xer@multiphasicapps.net>
4 # ---------------------------------------------------------------------------
5 # SquirrelJME is under the Mozilla Public License Version 2.0.
6 # See license.mkd for licensing and copyright information.
7 # ---------------------------------------------------------------------------
8 # DESCRIPTION: GitLab CI/CD for libRetro
10 ##############################################################################
11 ################################# BOILERPLATE ################################
12 ##############################################################################
14 # Core definitions
15 .core-nanocoat:
16   variables:
17     CORENAME: squirreljme
18     CMAKE_SOURCE_ROOT: nanocoat
19     SQUIRRELJME_SPECIAL_BUILD_LIBRETRO: 1
21 # Inclusion templates, required for the build to work
22 include:
23   - project: 'libretro-infrastructure/ci-templates'
24     file: '/android-cmake.yml'
25   - project: 'libretro-infrastructure/ci-templates'
26     file: '/ctr-static-cmake.yml'
27   - project: 'libretro-infrastructure/ci-templates'
28     file: '/dingux-cmake.yml'
29   - project: 'libretro-infrastructure/ci-templates'
30     file: '/djgpp-static-cmake.yml'
31   - project: 'libretro-infrastructure/ci-templates'
32     file: '/emscripten-static-cmake.yml'
33   - project: 'libretro-infrastructure/ci-templates'
34     file: '/ios-cmake.yml'
35   - project: 'libretro-infrastructure/ci-templates'
36     file: '/libnx-static-cmake.yml'
37   - project: 'libretro-infrastructure/ci-templates'
38     file: '/linux-cmake.yml'
39   - project: 'libretro-infrastructure/ci-templates'
40     file: '/ngc-static-cmake.yml'
41   - project: 'libretro-infrastructure/ci-templates'
42     file: '/orbis-static-cmake.yml'
43   - project: 'libretro-infrastructure/ci-templates'
44     file: '/osx-cmake-arm64.yml'
45   - project: 'libretro-infrastructure/ci-templates'
46     file: '/osx-cmake-ppc.yml'
47   - project: 'libretro-infrastructure/ci-templates'
48     file: '/osx-cmake-x86.yml'
49   - project: 'libretro-infrastructure/ci-templates'
50     file: '/ps2-static-cmake.yml'
51   - project: 'libretro-infrastructure/ci-templates'
52     file: '/psp-static-cmake.yml'
53   - project: 'libretro-infrastructure/ci-templates'
54     file: '/tvos-cmake.yml'
55   - project: 'libretro-infrastructure/ci-templates'
56     file: '/vita-static-cmake.yml'
57   - project: 'libretro-infrastructure/ci-templates'
58     file: '/wii-static-cmake.yml'
59   - project: 'libretro-infrastructure/ci-templates'
60     file: '/wiiu-static-cmake.yml'
61   - project: 'libretro-infrastructure/ci-templates'
62     file: '/windows-cmake-mingw.yml'
63   - project: 'libretro-infrastructure/ci-templates'
64     file: '/windows-cmake-msvc19.yml'
66 # Stages for building, required
67 stages:
68   - build-prepare
69   - build-shared
70   - build-static
72 # Inclusion of all build types, note that platforms are in the form of:
73 # - libretro-build-$PLATFORM
74 # - android-ARCH
76 # android-cmake.yml
77 android-arm64-v8a:
78   extends:
79     - .libretro-android-cmake-arm64-v8a
80     - .core-nanocoat
82 android-armeabi-v7a:
83   extends:
84     - .libretro-android-cmake-armeabi-v7a
85     - .core-nanocoat
87 android-x86:
88   extends:
89     - .libretro-android-cmake-x86
90     - .core-nanocoat
92 android-x86_64:
93   extends:
94     - .libretro-android-cmake-x86_64
95     - .core-nanocoat
97 # ctr-static-cmake.yml
98 libretro-build-ctr:
99   extends:
100     - .libretro-ctr-static-cmake-retroarch-master
101     - .core-nanocoat
103 # dingux-cmake.yml
104 libretro-build-dingux-mips32:
105   extends:
106     - .libretro-dingux-cmake-mips32
107     - .core-nanocoat
109 libretro-build-dingux-odbeta-mips32:
110   extends:
111     - .libretro-dingux-odbeta-cmake-mips32
112     - .core-nanocoat
114 libretro-build-miyoo-arm32:
115   extends:
116     - .libretro-miyoo-cmake-arm32
117     - .core-nanocoat
119 libretro-build-retrofw-mips32:
120   extends:
121     - .libretro-retrofw-odbeta-cmake-mips32
122     - .core-nanocoat
124 libretro-build-rs90-odbeta-mips32:
125   extends:
126     - .libretro-rs90-odbeta-cmake-mips32
127     - .core-nanocoat
129 # djgpp-static-cmake.yml
130 libretro-build-djgpp: # TODO: What should this be called?
131   extends:
132     - .libretro-djgpp-static-cmake-retroarch-master
133     - .core-nanocoat
135 # emscripten-static-cmake.yml
136 libretro-build-emscripten:
137   extends:
138     - .libretro-emscripten-static-cmake-retroarch-master
139     - .core-nanocoat
141 # ios-cmake.yml
142 libretro-build-ios-arm64:
143   extends:
144     - .libretro-ios-cmake-arm64
145     - .core-nanocoat
147 libretro-build-ios9:
148   extends:
149     - .libretro-ios-cmake-ios9
150     - .core-nanocoat
152 # libnx-static-cmake.yml
153 libretro-build-libnx:
154   extends:
155     - .libretro-libnx-static-cmake-retroarch-master
156     - .core-nanocoat
158 # linux-cmake.yml
159 libretro-build-linux-i686:
160   extends:
161     - .libretro-linux-cmake-x86
162     - .core-nanocoat
164 libretro-build-linux-x64:
165   extends:
166     - .libretro-linux-cmake-x86_64
167     - .core-nanocoat
169 # ngc-static-cmake.yml
170 libretro-build-ngc:
171   extends:
172     - .libretro-ngc-static-cmake-retroarch-master
173     - .core-nanocoat
175 # orbis-static-cmake.yml (Toolchain is currently broken, no CMake Toolchain)
176 #libretro-build-orbis:
177 #  extends:
178 #    - .libretro-orbis-static-cmake-retroarch-master
179 #    - .core-nanocoat
181 # osx-cmake-arm64.yml
182 libretro-build-osx-arm64:
183   extends:
184     - .libretro-osx-cmake-arm64
185     - .core-nanocoat
187 # osx-cmake-ppc.yml
188 libretro-build-osx-ppc:
189   extends:
190     - .libretro-osx-cmake-ppc
191     - .core-nanocoat
193 # osx-cmake-x86.yml
194 libretro-build-osx-x86: # TODO: What should this be called?
195   extends:
196     - .libretro-osx-cmake-x86
197     - .core-nanocoat
199 libretro-build-osx-x64:
200   extends:
201     - .libretro-osx-cmake-x86_64
202     - .core-nanocoat
204 # ps2-static-cmake.yml
205 libretro-build-ps2:
206   extends:
207     - .libretro-ps2-static-cmake-retroarch-master
208     - .core-nanocoat
210 # psp-static-cmake.yml
211 libretro-build-psp:
212   extends:
213     - .libretro-psp-static-cmake-retroarch-master
214     - .core-nanocoat
216 # tvos-cmake.yml
217 libretro-build-tvos-arm64:
218   extends:
219     - .libretro-tvos-cmake-arm64
220     - .core-nanocoat
222 # vita-static-cmake.yml
223 libretro-build-vita:
224   extends:
225     - .libretro-vita-static-cmake-retroarch-master
226     - .core-nanocoat
228 # wii-static-cmake.yml
229 libretro-build-wii:
230   extends:
231     - .libretro-wii-static-cmake-retroarch-master
232     - .core-nanocoat
234 # wiiu-static-cmake.yml
235 libretro-build-wiiu:
236   extends:
237     - .libretro-wiiu-static-cmake-retroarch-master
238     - .core-nanocoat
240 # windows-cmake-mingw.yml
241 libretro-build-windows-i686:
242   extends:
243     - .libretro-windows-cmake-x86
244     - .core-nanocoat
246 libretro-build-windows-x64:
247   extends:
248     - .libretro-windows-cmake-x86_64
249     - .core-nanocoat
251 # windows-cmake-msvc19.yml
252 #libretro-build-windows-msvc19-i686: # TODO: What should this be called?
253 #  extends:
254 #    - .libretro-windows-msvc19-cmake-x86
255 #    - .core-nanocoat
257 #libretro-build-windows-msvc19-x64: # TODO: What should this be called?
258 #  extends:
259 #    - .libretro-windows-msvc19-cmake-x64
260 #    - .core-nanocoat