-
Notifications
You must be signed in to change notification settings - Fork 21
Expand file tree
/
Copy path.gitlab-ci.yml
More file actions
97 lines (85 loc) · 2.96 KB
/
.gitlab-ci.yml
File metadata and controls
97 lines (85 loc) · 2.96 KB
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
# DESCRIPTION: GitLab CI/CD for libRetro (NOT FOR GitLab-proper)
##############################################################################
################################# BOILERPLATE ################################
##############################################################################
# Core definitions
.core-defs:
variables:
CORENAME: pcsx2
CORE_ARGS: -DCMAKE_BUILD_TYPE=Release -DCMAKE_POLICY_VERSION_MINIMUM=3.18
GIT_SUBMODULE_STRATEGY: recursive
# Inclusion templates, required for the build to work
include:
################################## DESKTOPS ################################
# Windows
- project: 'libretro-infrastructure/ci-templates'
file: '/windows-cmake-msvc19.yml'
# MacOS
- project: 'libretro-infrastructure/ci-templates'
file: 'osx-cmake-x86.yml'
# MacOS arm64
# - project: 'libretro-infrastructure/ci-templates'
# file: 'osx-cmake-arm64.yml'
# Linux
- project: 'libretro-infrastructure/ci-templates'
file: '/linux-cmake.yml'
# Stages for building
stages:
- build-prepare
- build-shared
##############################################################################
#################################### STAGES ##################################
##############################################################################
#
################################### DESKTOPS #################################
# Windows 64-bit
libretro-prepare-windows-x64:
stage: build-prepare
tags:
- msvc2019
variables:
GIT_SUBMODULE_STRATEGY: normal
# need to go through some heroics to avoid pcsx2/GS/parallel-gs/Granite/third_party/fossilize/cli/SPIRV-Cross;
# the filename 'reference/opt/shaders-msl/comp/overlapping-bindings.msl31.argument.argument-tier-1.decoration-binding.device-argument-buffer.texture-buffer-native.comp' is too long
script:
- |
cd "$Env:CI_PROJECT_DIR"
git submodule update --init --recursive 3rdparty
git submodule update --init pcsx2/GS/parallel-gs
cd pcsx2/GS/parallel-gs
git submodule sync Granite
git submodule update --init Granite
cd Granite
git submodule sync third_party/volk
git submodule update --init third_party/volk
git submodule sync third_party/khronos/vulkan-headers
git submodule update --init third_party/khronos/vulkan-headers
libretro-build-windows-x64:
extends:
- .libretro-windows-msvc19-cmake-x86_64
- .core-defs
variables:
GIT_SUBMODULE_STRATEGY: normal
EXTRA_PATH: libretro/Release
# Linux 64-bit
libretro-build-linux-x64:
extends:
- .libretro-linux-cmake-x86_64
- .core-defs
variables:
EXTRA_PATH: bin
# MacOS 64-bit
libretro-build-osx-x64:
tags:
- mac-apple-silicon
extends:
- .libretro-osx-cmake-x86
- .core-defs
variables:
EXTRA_PATH: libretro
CORE_ARGS: -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=x86_64 -DARCH_FLAG=-msse4.1
# MacOS arm64
#libretro-build-osx-arm64:
# extends:
# - .libretro-osx-cmake-arm64
# - .core-defs