-
Notifications
You must be signed in to change notification settings - Fork 0
133 lines (105 loc) · 3.16 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
132
133
name: build
on: [push, pull_request]
jobs:
build_base:
name: Build Base DLL
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Build Base DLL
run: |
g++ -O3 -std=c++17 -fconcepts -Wall -shared -fpic src/base/*.cpp src/std/*.cpp -I include -o base.dll
- name: Upload Base DLL
uses: actions/upload-artifact@v2
with:
name: base
path: base.dll
build_analyzer:
name: Build Analyzer DLL
needs: build_base
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Download Base DLL
uses: actions/download-artifact@v2
with:
name: base
- name: Build Analyzer DLL
run: |
g++ -O3 -std=c++17 -fconcepts -Wall -shared -fpic src/analyzer.cpp base.dll -I include -o analyzer.dll
- name: Upload Analyzer DLL
uses: actions/upload-artifact@v2
with:
name: analyzer
path: analyzer.dll
build_compiler:
name: Build Compiler DLL
needs: build_base
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Download Base DLL
uses: actions/download-artifact@v2
with:
name: base
- name: Build Compiler DLL
run: |
g++ -O3 -std=c++17 -fconcepts -Wall -shared -fpic src/compiler.cpp base.dll -I include -o compiler.dll
- name: Upload Compiler DLL
uses: actions/upload-artifact@v2
with:
name: compiler
path: compiler.dll
build_interpreter:
name: Build Interpreter DLL
needs: build_base
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Download Base DLL
uses: actions/download-artifact@v2
with:
name: base
- name: Build Interpreter DLL
run: |
g++ -O3 -std=c++17 -fconcepts -Wall -shared -fpic src/interpreter.cpp base.dll -I include -o interpreter.dll
- name: Upload Interpreter DLL
uses: actions/upload-artifact@v2
with:
name: interpreter
path: interpreter.dll
build_main:
name: Build Main EXE
needs: [build_analyzer, build_compiler, build_interpreter]
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Download Base DLL
uses: actions/download-artifact@v2
with:
name: base
- name: Download Analyzer DLL
uses: actions/download-artifact@v2
with:
name: analyzer
- name: Download Compiler DLL
uses: actions/download-artifact@v2
with:
name: compiler
- name: Download Interpreter DLL
uses: actions/download-artifact@v2
with:
name: interpreter
- name: Build Main EXE
run: |
g++ -O3 -std=c++17 -fconcepts -Wall src/main.cpp *.dll -I include -o tff.exe
- name: Upload Main EXE
uses: actions/upload-artifact@v2
with:
name: main
path: tff.exe