-
Notifications
You must be signed in to change notification settings - Fork 1
131 lines (108 loc) · 3.34 KB
/
build.yml
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
name: 🔨 build
on:
push:
branches:
- main
- release
- pre-release
paths:
- '.github/**'
- 'deps/**'
- 'engine/runtime/**'
- 'engine/plugins/**'
- 'games/**'
- 'template/**'
- '.gitignore'
- 'CMakeLists.txt'
pull_request:
branches: [ main ]
env:
build_dir: "build"
config: "Release"
nt: "4"
jobs:
windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
fetch-depth: 0
- name: Install msvc for build
uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64
- name: Install ninja for build
uses: seanmiddleditch/gha-setup-ninja@master
- name: Install Vulkan SDK
uses: humbletim/setup-vulkan-sdk@v1.2.0
with:
vulkan-query-version: 1.3.204.0
vulkan-components: Vulkan-Headers
vulkan-use-cache: true
- name: Configure CMake
run: cmake . -G Ninja -B ${{ env.build_dir }} -DCMAKE_BUILD_TYPE=${{ env.config }}
- name: Build library sources
run: cmake --build ${{ env.build_dir }} --target=template
ubuntu:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
submodules: true
fetch-depth: 0
- name: Install ninja for build
uses: seanmiddleditch/gha-setup-ninja@master
- name: Update apt
shell: bash
run: |
sudo apt-get update
- name: Install glfw dependencies
shell: bash
run: |
sudo apt-get install -y libxrandr-dev libxinerama-dev xorg-dev
- name: Install glew dependencies
shell: bash
run: |
sudo apt-get install -y libgl1-mesa-dri libgl1-mesa-glx libgl1-mesa-dev
sudo apt-get install -y libxmu-dev libxi-dev libgl-dev libglx-dev
sudo apt-get install -y libx11-dev
- name: Install openal dependencies
shell: bash
run: |
sudo apt-get install -y libpulse-dev portaudio19-dev libasound2-dev libjack-dev libpipewire-0.2-dev qtbase5-dev libdbus-1-dev
- name: Install Vulkan SDK
uses: humbletim/setup-vulkan-sdk@v1.2.0
with:
vulkan-query-version: 1.3.204.0
vulkan-components: Vulkan-Headers
vulkan-use-cache: true
- name: Configure CMake
run: cmake . -G Ninja -B ${{ env.build_dir }} -DCMAKE_BUILD_TYPE=${{ env.config }}
env:
CC: gcc-9
CXX: g++-9
- name: Build library sources
run: cmake --build ${{ env.build_dir }} --target=template
macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
fetch-depth: 0
- name: Install ninja for build
uses: seanmiddleditch/gha-setup-ninja@master
- name: Install Vulkan SDK
uses: humbletim/setup-vulkan-sdk@v1.2.0
with:
vulkan-query-version: 1.3.204.0
vulkan-components: Vulkan-Headers
vulkan-use-cache: true
- name: Configure CMake x64
run: cmake . -G Ninja -B ${{ env.build_dir }} -DCMAKE_BUILD_TYPE=${{ env.config }} -DCMAKE_OSX_ARCHITECTURES=x86_64
env:
CXX: clang++
CC: clang
- name: Build library sources x64
run: cmake --build ${{ env.build_dir }} --target=template