forked from ellson/MOTHBALLED-graphviz
-
Notifications
You must be signed in to change notification settings - Fork 0
/
appveyor.yml
86 lines (76 loc) · 2.64 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
version: 2.41.{build}
clone_depth: 25
image: Visual Studio 2015
environment:
CTEST_OUTPUT_ON_FAILURE: TRUE
graphviz_install_dir: C:\Graphviz
matrix:
- build_system: cmake
generator: "Visual Studio 14 2015"
- build_system: cmake
generator: "Visual Studio 14 2015 Win64"
- build_system: msbuild
configuration:
- Debug
- Release
install:
# Retrieve submodules, dependencies are stored there.
- git submodule update --init
before_build:
# This file is deleted to reduce noise in the build output. Otherwise several
# "target does not exist and will be ignored" messages are printed.
- del "C:\Program Files (x86)\MSBuild\14.0\Microsoft.Common.targets\ImportAfter\Xamarin.Common.targets"
build_script:
- cd %APPVEYOR_BUILD_FOLDER%
- set PATH=%PATH%;%APPVEYOR_BUILD_FOLDER%\windows\dependencies\graphviz-build-utilities
# Build
- ps: >-
if($env:build_system -eq "cmake") {
mkdir build;
cd build;
cmake -G "$env:generator" ..;
cmake --build . --config $env:configuration;
}
elseif($env:build_system -eq "msbuild") {
msbuild /p:Configuration=$env:configuration
}
# Package
- ps: >-
if($env:configuration -eq "Release") {
if($env:build_system -eq "cmake") {
cpack
}
elseif($env:build_system -eq "msbuild") {
rm Release\Graphviz\bin\*.lastcodeanalysissucceeded;
rm Release\Graphviz\bin\*.iobj;
rm Release\Graphviz\bin\*.ipdb;
rm Release\Graphviz\bin\*.ilk;
}
}
# Test
- ps: >-
if($env:build_system -eq "cmake" -and $env:configuration -eq "Release") {
mv Graphviz-*.exe Graphviz-install.exe;
# Install using installer and add bin directory to path.
# Piping the output of the installer to Out-Null, makes the script wait
# for the .exe to exit, instead continuing to the next command (which
# will then fail because the install hasn't finished)
./Graphviz-install.exe /S /D=$env:graphviz_install_dir | Out-Null;
$env:Path += ";" + $env:graphviz_install_dir + "\bin"
dot -c;
ctest -C $env:configuration;
}
elseif($env:build_system -eq "msbuild") {
# Append build destination to the PATH, configure dot and execute regression tests
$env:Path += ";" + $env:APPVEYOR_BUILD_FOLDER + "\" + $env:configuration + "\Graphviz\bin";
dot -c;
cd tests\regression_tests;
./regression_tests.bat;
}
artifacts:
- path: Release
name: graphviz-windows
- path: Debug
name: graphviz-windows-debug
- path: build/Graphviz-install.exe
name: Graphviz-Windows-install