-
Notifications
You must be signed in to change notification settings - Fork 180
142 lines (109 loc) · 3.78 KB
/
cmake.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
134
135
136
137
138
139
140
141
142
name: CMake checks
on:
push:
jobs:
linux-gcc-build:
runs-on: ubuntu-latest
env:
QT_SELECT: qt5
SCCACHE_GHA_ENABLED: "true"
SCCACHE_CACHE_SIZE: "2G"
steps:
- uses: actions/checkout@v1
with:
submodules: true
- name: install dependencies
run: |
sudo apt-get update
sudo apt-get install g++-9 libqt5opengl5-dev libqt5svg5-dev libglvnd-dev libeigen3-dev zlib1g-dev libfftw3-dev ninja-build
- name: Run sccache-cache
uses: mozilla-actions/[email protected]
- name: configure
run: |
mkdir cmake-build
cmake -B cmake-build -G Ninja -D CMAKE_CXX_COMPILER_LAUNCHER=sccache .
- name: build
run: cmake --build ./cmake-build
- name: unit tests
run: ctest -R unit --output-on-failure --test-dir ./cmake-build
- name: binary tests
run: ctest -R bin --output-on-failure --test-dir ./cmake-build
macos-build:
runs-on: macos-latest
env:
PACKAGES: "qt5 eigen pkg-config fftw libpng ninja cmake"
SCCACHE_GHA_ENABLED: "true"
SCCACHE_CACHE_SIZE: "2G"
steps:
- uses: actions/checkout@v1
with:
submodules: true
- name: install dependencies
run: |
brew update || brew update # https://github.com/Homebrew/brew/issues/2491#issuecomment-294207661
brew install $PACKAGES || brew install $PACKAGES
brew link --force qt5
- name: Run sccache-cache
uses: mozilla-actions/[email protected]
- name: configure
run: |
export PATH=/usr/local/opt/qt5/bin:$PATH
mkdir cmake-build
cmake -B cmake-build -G Ninja -DCMAKE_CXX_COMPILER_LAUNCHER=sccache .
- name: build
run: cmake --build ./cmake-build
- name: unit tests
run: ctest -R unit --output-on-failure --test-dir ./cmake-build
- name: binary tests
run: ctest -R bin --output-on-failure --test-dir ./cmake-build
windows-build:
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
env:
# CFLAGS: -Werror
CHERE_INVOKING: enabled_from_arguments
MINGW_PACKAGE_PREFIX: mingw-w64-ucrt-x86_64
SCCACHE_GHA_ENABLED: "true"
SCCACHE_CACHE_SIZE: "2G"
SCCACHE_DIR: ${{ github.workspace }}/.sccache
steps:
- uses: actions/checkout@v1
with:
submodules: true
- uses: msys2/setup-msys2@v2
with:
msystem: UCRT64
release: false
install: |
git
python
${{env.MINGW_PACKAGE_PREFIX}}-bc
${{env.MINGW_PACKAGE_PREFIX}}-cmake
${{env.MINGW_PACKAGE_PREFIX}}-diffutils
${{env.MINGW_PACKAGE_PREFIX}}-eigen3
${{env.MINGW_PACKAGE_PREFIX}}-fftw
${{env.MINGW_PACKAGE_PREFIX}}-gcc
${{env.MINGW_PACKAGE_PREFIX}}-libtiff
${{env.MINGW_PACKAGE_PREFIX}}-ninja
${{env.MINGW_PACKAGE_PREFIX}}-pkg-config
${{env.MINGW_PACKAGE_PREFIX}}-qt5-base
${{env.MINGW_PACKAGE_PREFIX}}-qt5-svg
${{env.MINGW_PACKAGE_PREFIX}}-zlib
- name: Run sccache-cache
uses: mozilla-actions/[email protected]
- name: export sccache to msys2 shell
run: |
export SCCACHE_UNIX_PATH=$(cygpath -u "$SCCACHE_PATH")
echo "SCCACHE_UNIX_PATH=$SCCACHE_UNIX_PATH" >> $GITHUB_ENV
- name: configure
run: |
mkdir cmake-build
cmake -B cmake-build -G Ninja -DCMAKE_CXX_COMPILER_LAUNCHER=${{env.SCCACHE_UNIX_PATH}} .
- name: build
run: cmake --build cmake-build
- name: unit tests
run: ctest -R unit --output-on-failure --test-dir ./cmake-build
- name: binary tests
run: ctest -R bin --output-on-failure --test-dir ./cmake-build