-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathappveyor.yml
More file actions
88 lines (75 loc) · 3.04 KB
/
Copy pathappveyor.yml
File metadata and controls
88 lines (75 loc) · 3.04 KB
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
image:
- Visual Studio 2022 # Timeout on vcpkg build, requires multiple runs with APPVEYOR_SAVE_CACHE_ON_ERROR
- ubuntu2204
configuration:
- release
platform:
- x64
cache:
- C:\Tools\vcpkg.cache -> vcpkg.json
environment:
APPVEYOR_SAVE_CACHE_ON_ERROR: true
VCPKG_DIR: C:\Tools\vcpkg
VCPKG_BINARY_SOURCES: 'clear;files,C:\Tools\vcpkg.cache,readwrite'
VCPKG_REF: '000d1bda1ffa95a73e0b40334fa4103d6f4d3d48'
VCPKG_DEFAULT_TRIPLET: x64-windows
QT_DIR: C:\Qt\5.15\msvc2019_64
BUILD_TYPE: RelWithDebInfo
init:
- echo %APPVEYOR_BUILD_WORKER_IMAGE%
- echo %CONFIGURATION%
- cmd: call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat"
#- cmd: set Path=%QT_DIR%\bin;%Path%
install:
# Windows
- cmd: cd %VCPKG_DIR%
- cmd: git fetch
- cmd: git reset --hard %VCPKG_REF%
- cmd: echo.set(VCPKG_BUILD_TYPE %CONFIGURATION%)>> %VCPKG_DIR%\triplets\%PLATFORM%-windows.cmake
- cmd: type %VCPKG_DIR%\triplets\%PLATFORM%-windows.cmake
- cmd: choco install imagemagick.app
- cmd: refreshenv
#- cmd: vcpkg install catch2 boost-beast boost-program-options boost-property-tree boost-serialization boost-system
#- cmd: vcpkg integrate install
- cmd: cd %APPVEYOR_BUILD_FOLDER%
# Linux
- sh: sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"
- sh: export CC=/usr/bin/clang-17
- sh: export CXX=/usr/bin/clang++-17
- sh: sudo add-apt-repository ppa:mhier/libboost-latest
- sh: wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add -
- sh: sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ jammy main'
- sh: sudo apt update -q
- sh: sudo apt install -yq build-essential ninja-build libstdc++-12-dev git cmake clang imagemagick
- sh: sudo apt install -yq --no-upgrade libboost-all-dev qtbase5-dev qttools5-dev
# Catch2 is not yet in a repo, so build+install ourselves
- sh: git clone -b v3.4.0 https://github.com/catchorg/Catch2.git ~/catch2
- sh: cmake -S~/catch2 -B~/catch2.build -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=/usr
- sh: sudo cmake --build ~/catch2.build -- install
before_build:
- cmd: cmake -G "Visual Studio 17 2022" -A x64 -DVCPKG_TARGET_TRIPLET=%VCPKG_DEFAULT_TRIPLET% -DCMAKE_TOOLCHAIN_FILE=C:/Tools/vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=%BUILD_TYPE% -H%APPVEYOR_BUILD_FOLDER% -B%APPVEYOR_BUILD_FOLDER%/build
- sh: cmake -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -S${APPVEYOR_BUILD_FOLDER} -B${APPVEYOR_BUILD_FOLDER}/build
build_script:
- cmd: cmake --build build --target package
- sh: cmake --build ./build -- package
test_script:
- cmd: ctest -C ${BUILD_TYPE}
- sh: cmake --build ./build -- test
artifacts:
- path: build/*.deb
name: Linux installer
- path: build/*.exe
name: Windows installer
deploy:
tag: $(APPVEYOR_REPO_TAG_NAME)
release: $(APPVEYOR_REPO_TAG_NAME)
description: Release of the build
provider: GitHub
auth_token:
secure: kb0a0ovLyJt0Um5ZFdnFOxalcytOF0kqX1vR+/Q+hMKnQsrVA5z28ivHaNoFVN3r
artifact: installer
draft: false
force_update: true
on:
branch: master
APPVEYOR_REPO_TAG: true