-
Notifications
You must be signed in to change notification settings - Fork 28
102 lines (99 loc) · 3.34 KB
/
build-windows.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
name: build-windows
on: [push, release]
jobs:
build:
# Based on requirement by linuxdeployqt
runs-on: windows-2019
steps:
- uses: actions/checkout@v2
- uses: ilammy/msvc-dev-cmd@v1
- name: Install Qt
uses: jurplel/install-qt-action@v3
with:
version: '5.15.2'
tools: 'tools_ifw'
extra: '--external 7z'
- uses: actions/cache@v3
id: cache-deps
with:
path: |
${{ github.workspace }}/deps
key: ${{ runner.os }}
- name: Build dependencies (qwt & gsl)
if: steps.cache-deps.outputs.cache-hit != 'true'
run: |
mkdir deps
cd deps
git clone --branch qwt-6.2 https://git.code.sf.net/p/qwt/git qwt
cd qwt
qmake
nmake
nmake install
cd ..
git clone https://github.com/ampl/gsl.git gsl
cd gsl
git submodule update --init --recursive
mkdir build
cd build
cmake .. `
-G "Visual Studio 16 2019" `
-DGSL_DISABLE_WARNINGS:BOOL=ON `
-DBUILD_SHARED_LIBS:BOOL=ON `
-DMSVC_RUNTIME_DYNAMIC:BOOL=ON `
-DCMAKE_BUILD_TYPE="Release" `
-DGSL_DISABLE_TESTS=1 `
-DNO_AMPL_BINDINGS=1 `
-DDOCUMENTATION=OFF
cmake --build . --config Release
- name: Install dependencies (qwt & gsl)
run: |
cd deps/qwt
nmake install
cd ../gsl/build
cmake --build . --target install --config Release
- name: Set path for candle and light
run: echo "C:\Program Files (x86)\WiX Toolset v3.11\bin" >> $GITHUB_PATH
shell: bash
- name: Add path for Qt IFW
run: echo "D:\a\strata\Qt\Tools\QtInstallerFramework\4.4\bin" >> $GITHUB_PATH
shell: bash
- name: build
env:
QTIFWDIR: ${{ github.workspace }}/../Qt/Tools/QtInstallerFramework/4.4
run: |
mkdir build
cd build
cmake .. `
-G "Visual Studio 16 2019" `
-DQWT_ROOT_DIR="C:/Qwt-6.2.0-dev" `
-DQWT_INCLUDE_DIR="C:/Qwt-6.2.0-dev/include" `
-DGSL_ROOT_DIR="C:/Program Files (x86)/GSL" `
-DCMAKE_BUILD_TYPE=Release `
-DCMAKE_INSTALL_PREFIX:STRING=dist
cmake --build . --target install --config Release
echo "Built $(dist/strata.exe -v)$"
cmake --build . --target package --config Release
cmake --build . --target archive --config Release
# tmate session for debugging
# - name: Setup tmate session
# uses: mxschmitt/action-tmate@v3
- uses: actions/upload-artifact@v3
with:
name: strata installer
path: ${{ github.workspace }}/build/Strata-*.exe
- uses: actions/upload-artifact@v3
with:
name: strata archive
path: ${{ github.workspace }}/build/Strata-*.zip
- name: release
if: startsWith(github.ref, 'refs/tags/v')
uses: actions/create-release@v1
id: create_release
with:
draft: false
prerelease: false
release_name: ${{ steps.version.outputs.version }}
tag_name: ${{ github.ref }}
body_path: HISTORY.rst
env:
GITHUB_TOKEN: ${{ github.token }}