forked from artivis/manif
-
Notifications
You must be signed in to change notification settings - Fork 0
/
appveyor.yml
94 lines (81 loc) · 2.65 KB
/
appveyor.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
branches:
only:
- master
- devel
skip_commits:
files:
- '**/.doxygen.txt'
- '**/.gitignore'
- '**/.travis.yml'
- '**/*.md'
- '**/LICENSE.txt'
os: Visual Studio 2015
environment:
matrix:
# @TODO Does not compile on VS14
# - generator: "Visual Studio 14 Win64"
# configuration: Release
# build_tests: ON
# build_ceres_tests: OFF
# build_examples: ON
- generator: "Visual Studio 15 Win64"
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
configuration: Release
build_tests: ON
build_ceres_tests: OFF
build_examples: ON
# @TODO Disabled until Ceres install is fixed
# - generator: "Visual Studio 15 Win64"
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
# configuration: Release
# build_tests: ON
# build_ceres_tests: ON
# build_examples: ON
clone_folder: c:\projects\manif
build:
project: c:\projects\manif\build\manif.sln
install:
- ps: |
Write-Output "Generator: $env:generator"
Write-Output "Env:Configuation: $env:configuration"
if (Test-Path env:APPVEYOR_PULL_REQUEST_NUMBER) {
Write-Output "This is a pull request build"
}
# Get Eigen 3.3-beta1
- ps: wget -O eigen3.zip https://gitlab.com/libeigen/eigen/-/archive/3.3-beta1/eigen-3.3-beta1.zip
- cmd: 7z x eigen3.zip -o"C:\projects" -y > nul
# - cmd: $env:CMAKE_INCLUDE_PATH = "C:\projects\eigen-eigen-ce5a455b34c0;$env:CMAKE_INCLUDE_PATH"
build_script:
# Install Ceres.
# @TODO does not work atm, Ceres does not find Eigen
- ps: |
if ($env:build_ceres_tests -eq "ON")
{
Write-Output "Building Ceres."
cd c:\projects
git clone --branch=1.14.0 --single-branch git://github.com/ceres-solver/ceres-solver.git ceres-solver
cd ceres-solver
md _build
cd _build
$eigen_include = "-DEIGEN3_INCLUDE_DIR=C:\projects\eigen-3.3-beta1"
cmake -G "$env:generator" $eigen_include -DMINIGLOG=ON -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF ..
cmake --build . --config $env:configuration --target install
}
# Build manif
- ps: |
cd c:\projects\manif
md _build
cd _build
$btests = "-DBUILD_TESTING=$env:build_tests"
$bexamples = "-DBUILD_EXAMPLES=$env:build_examples"
$eigen_include = "-DEIGEN3_INCLUDE_DIR=C:\projects\eigen-3.3-beta1"
cmake -G "$env:generator" $eigen_include $btests $bexamples ..
cmake --build . --config $env:configuration
test_script:
- ps: ctest -VV -C $env:configuration --output-on-failure
notifications:
- provider: Email
on_build_success: false
on_build_failure: true
on_build_status_changed: false