-
Notifications
You must be signed in to change notification settings - Fork 11
129 lines (121 loc) · 4.08 KB
/
Linux_options.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
name: Linux_options
on:
push:
branches:
- develop
pull_request:
branches:
- develop
jobs:
Linux_options:
runs-on: ubuntu-latest
env:
CC: gcc
strategy:
fail-fast: false
matrix:
config:
- {
name: "aec_off png_off jasper_off openjpeg_off",
options: "-DUSE_AEC=OFF -DUSE_PNG=OFF -DUSE_Jasper=OFF -DUSE_OpenJPEG=OFF"
}
- {
name: "aec_on png_off jasper_off openjpeg_off",
options: "-DUSE_AEC=ON -DUSE_PNG=OFF -DUSE_Jasper=OFF -DUSE_OpenJPEG=OFF"
}
- {
name: "aec_off png_on jasper_off openjpeg_off",
options: "-DUSE_AEC=OFF -DUSE_PNG=ON -DUSE_Jasper=OFF -DUSE_OpenJPEG=OFF"
}
- {
name: "aec_off png_off jasper_on openjpeg_off",
options: "-DUSE_AEC=OFF -DUSE_PNG=OFF -DUSE_Jasper=ON -DUSE_OpenJPEG=OFF -DJasper_ROOT=~/Jasper"
}
- {
name: "aec_off png_on jasper_on openjpeg_off",
options: "-DUSE_AEC=OFF -DUSE_PNG=ON -DUSE_Jasper=ON -DUSE_OpenJPEG=OFF -DJasper_ROOT=~/Jasper"
}
- {
name: "aec_on png_on jasper_on openjpeg_off",
options: "-DUSE_AEC=ON -DUSE_PNG=ON -DUSE_Jasper=ON -DUSE_OpenJPEG=OFF -DJasper_ROOT=~/Jasper"
}
- {
name: "aec_off png_off jasper_off openjpeg_on",
options: "-DUSE_AEC=OFF -DUSE_PNG=OFF -DUSE_Jasper=OFF -DUSE_OpenJPEG=ON "
}
- {
name: "aec_on png_off jasper_off openjpeg_on",
options: "-DUSE_AEC=ON -DUSE_PNG=OFF -DUSE_Jasper=OFF -DUSE_OpenJPEG=ON "
}
- {
name: "aec_off png_on jasper_off openjpeg_on",
options: "-DUSE_AEC=OFF -DUSE_PNG=ON -DUSE_Jasper=OFF -DUSE_OpenJPEG=ON "
}
- {
name: "aec_on png_on jasper_off openjpeg_on",
options: "-DUSE_AEC=ON -DUSE_PNG=ON -DUSE_Jasper=OFF -DUSE_OpenJPEG=ON "
}
- {
name: "aec_off png_off jasper_off openjpeg_on",
options: "-DUSE_AEC=OFF -DUSE_PNG=OFF -DUSE_Jasper=OFF -DUSE_OpenJPEG=ON "
}
- {
name: "aec_on png_on jasper_off openjpeg_on",
options: "-DUSE_AEC=ON -DUSE_PNG=ON -DUSE_Jasper=OFF -DUSE_OpenJPEG=ON "
}
- {
name: "g2c",
options: "-DBUILD_G2C=ON -DPTHREADS=OFF -DLOGGING=ON -DJasper_ROOT=~/Jasper"
}
- {
name: "g2c_pthreads",
options: "-DBUILD_G2C=ON -DPTHREADS=ON -DLOGGING=ON -DJasper_ROOT=~/Jasper"
}
- {
name: "shared",
options: "-DBUILD_SHARED_LIBS=ON"
}
steps:
- name: install-dependencies
run: |
sudo apt-get update
sudo apt-get install libaec-dev libpng-dev zlib1g-dev libjpeg-dev libopenjp2-7-dev
- name: checkout-jasper
uses: actions/checkout@v4
with:
repository: jasper-software/jasper
path: jasper
ref: version-2.0.25
- name: cache-jasper
id: cache-jasper
uses: actions/cache@v4
with:
path: ~/Jasper
key: jasper-${{ runner.os }}-${{ hashFiles('jasper/VERSION') }}
- name: build-jasper
if: steps.cache-jasper.outputs.cache-hit != 'true'
run: |
cd jasper
mkdir cmake_build
cd cmake_build
cmake .. -DCMAKE_INSTALL_PREFIX=~/Jasper
make -j2 VERBOSE=1
make install
- name: checkout
uses: actions/checkout@v4
with:
path: g2c
- name: ${{ matrix.config.name }}
run: |
cd g2c
mkdir build
cd build
cmake ${{ matrix.config.options }} -DCMAKE_C_FLAGS="-g -fsanitize=address -Wall -Werror" -DCMAKE_INSTALL_PREFIX=~/g2c/install -DCMAKE_PREFIX_PATH=~/Jasper ..
make -j2
ctest --verbose --output-on-failure --rerun-failed
make install
if [ "${{ matrix.config.options }}" = "-DBUILD_SHARED_LIBS=ON" ]; then
ls -l ~/g2c/install/lib/lib*.so || exit 1
else
ls -l ~/g2c/install/lib/lib*.a || exit 1
fi