-
Notifications
You must be signed in to change notification settings - Fork 5
/
appveyor.yml
146 lines (136 loc) · 6.58 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
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
143
144
145
146
#---------------------------------#
# environment configuration #
#---------------------------------#
# Operating system (build VM template)
os: Visual Studio 2015
# environment variables
environment:
# The following environement variable definitions are only used within
# the pre_build section:
QT5_DIR: C:\Qt\5.6\msvc2015_64
BOOST_ROOT: C:\Libraries\boost_1_67_0
#
KIT_ROOT: C:\local_vs2015_64
#
matrix:
- B_USE_QT5: OFF # Qt4 gets defaulted with a cmake trick/kludge
- B_USE_QT5: ON
# this is how to allow failing jobs in the matrix
matrix:
fast_finish: true # Immediately finish build once one of the jobs fails
# allow_failures:
#cache:
# Preserving files/folders accross builds currently limited to
# 500Mb which is not enough for all the dependencies...
# scripts that are called at very beginning, before repo cloning
init:
# Leaving traces of the context:
- cmake --version
# Debugging traces
# - msbuild /version
# - dir C:\Libraries
# - dir %BOOST_ROOT%\lib64-msvc-14.0
#---------------------------------#
# build configuration #
#---------------------------------#
# build Configuration, i.e. Debug, Release, etc
configuration:
- Release
- Debug
# MSBuild verbosity level
# verbosity: quiet|minimal|normal|detailed
before_build:
# Get rid of pesky Xamarin build messages, refer to
# http://help.appveyor.com/discussions/problems/4569-the-target-_convertpdbfiles-listed-in-a-beforetargets-attribute-at-c-does-not-exist-in-the-project-and-will-be-ignored
- del "C:\Program Files (x86)\MSBuild\14.0\Microsoft.Common.targets\ImportAfter\Xamarin.Common.targets"
#
- mkdir %KIT_ROOT%
- cd %KIT_ROOT%
#
##### Install VCITY dependencies:
# Changing the path for curl to be found: refer to
# https://github.com/appveyor/ci/issues/1426
- set PATH=C:\Program Files\Git\mingw64\bin;%PATH%
- set CURL_FLAGS=-k --connect-timeout 60 --max-time 2000 -s -O
# Note: many libraries come pre-installed by Appveyor. Refer to
# https://www.appveyor.com/docs/windows-images-software/#visual-studio-2015 for a list.
# VCity currently uses:
# * QT5: C:\Qt\5.6\msvc2015_64
# * Boost: C:\Libraries\boost_1_67_0
### Qt4
- curl %CURL_FLAGS% https://download.gforge.liris.cnrs.fr/meppbin/windows/vs2015/MEPP/packages/clean/qt-4.8.7-x64-msvc2015.7z
- 7z x qt-4.8.7-x64-msvc2015.7z > nul
### OSG together with its third party dependencies:
- curl %CURL_FLAGS% https://download.gforge.liris.cnrs.fr/meppbin/windows/vs2015/MEPP/packages/redo/osg-3.4.0.7z
- 7z x osg-3.4.0.7z > nul
- curl %CURL_FLAGS% https://download.gforge.liris.cnrs.fr/meppbin/windows/vs2015/MEPP/packages/clean/osg-3rdparty-runtime.rar
- 7z x osg-3rdparty-runtime.rar > nul
### Assimp
- curl %CURL_FLAGS% https://download.gforge.liris.cnrs.fr/meppbin/windows/vs2015/MEPP/packages/redo/assimp-3.2.rar
- 7z x assimp-3.2.rar > nul
#### gdal together with its third party dependencies:
- curl %CURL_FLAGS% https://download.gforge.liris.cnrs.fr/meppbin/windows/vs2015/VCITY/packages/clean/gdal.rar
- 7z x gdal.rar > nul
- curl %CURL_FLAGS% https://download.gforge.liris.cnrs.fr/meppbin/windows/vs2015/VCITY/packages/clean/gdal-3rdparty-runtime.rar
- 7z x gdal-3rdparty-runtime.rar > nul
### Laslib
- curl %CURL_FLAGS% https://download.gforge.liris.cnrs.fr/meppbin/windows/vs2015/VCITY/packages/clean/laslib.rar
- 7z x laslib.rar > nul
### Libxml2
- curl %CURL_FLAGS% https://download.gforge.liris.cnrs.fr/meppbin/windows/vs2015/VCITY/packages/clean/libxml2-2.9.3.rar
- 7z x libxml2-2.9.3.rar > nul
### PCL and its sub-dependencies
# Disabling PCL install because it PCL support is too expensive and unstable
### eigen
#- curl %CURL_FLAGS% https://download.gforge.liris.cnrs.fr/meppbin/windows/vs2015/MEPP/packages/clean/eigen-3.2.8.rar
#- 7z x eigen-3.2.8.rar > nul
### PCL, flann, qhull
#- curl %CURL_FLAGS% https://download.gforge.liris.cnrs.fr/meppbin/windows/vs2015/MEPP/packages/clean/PCL-1.7.2.7z
#- 7z x PCL-1.7.2.7z > nul
#
##### Eventually we can configure the building (with cmake):
- cd %APPVEYOR_BUILD_FOLDER%
# Notes concerning cmake configuration flags:
# - When using 2012 binary kit (currently deprecated), then the pertinent
# option concerning OSG-QT will be -DBUILD_EMBARKED_OSG-QT_32=ON (i.e.
# 32 instead of 34).
# - Testing against QT4 is obtained as a side effect of setting
# BUILD_GUI_QT5 to OFF in the matrix. QT4 gets then used because
# BUILD_GUI_QT4 is ON by default...
# - BUILD_UNMATURE_TESTS is ON by default
- cmake . -G"Visual Studio 14 2015 Win64" -DVCITY_KIT_ROOT=%KIT_ROOT% -DBUILD_GUI_QT5=%B_USE_QT5% -DBUILD_EMBARKED_OSG-QT_34=ON -DBUILD_ALL_PLUGINS=ON -DBUILD_PCL=OFF -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DBUILD_UNMATURE_TESTS=OFF
# to run your custom scripts instead of automatic MSBuild
build_script:
# Note: avoid launching msbuild with the /m set. This would produces
# random crashes Qt-MOC invocations...
- msbuild 3DUSE.sln
##### Ctest: establising context and run per se
# For the binaries (the tests that ctest will trigger) to find the
# dynamic libraries they depend on, the PATH variable must be set
# properly. The following definition of PATH (required at runtime)
# mirrors the definition of the various <package>_DIR variables used
# to drive cmake's find_package (required at compile time): refer to
# file cmake/msvc/kit_vs2015-64_v01-common.cmake.
- set PATH=%QT5_DIR%\bin;%PATH%
- set PATH=%KIT_ROOT%\Qt\qt-4.8.7-x64-msvc2015\bin;%PATH%
- set PATH=%KIT_ROOT%\assimp-3.2\lib;%PATH%
# The "kit" stores some of Gdal sub-dependencies like geotiff.dll not
# within gdal directory but within _bin_...
- set PATH=%KIT_ROOT%\gdal\gdal-1.11.4\bin;%PATH%
- set PATH=%KIT_ROOT%\gdal-3rdparty-runtime;%PATH%
# Laslib: the binary kit only provides the static library.
- set PATH=%KIT_ROOT%\libxml2-2.9.3\bin;%PATH%
- set PATH=%KIT_ROOT%\osg\OpenSceneGraph-3.4.0\bin;%PATH%
- set PATH=%KIT_ROOT%\osg\OpenSceneGraph-3.4.0\bin\osgPlugins-3.4.0;%PATH%
- set PATH=%KIT_ROOT%\osg-3rdparty-runtime;%PATH%
# PCL and its sub-dependencies
- set PATH=%KIT_ROOT%\PCL\pcl-1.7.2\bin;%PATH%
- set PATH=%BOOST_ROOT%\lib;%PATH%
- set PATH=%KIT_ROOT%\PCL\flann-1.8.4\bin;%PATH%
- set PATH=%KIT_ROOT%\PCL\qhull-2015.2\bin;%PATH%
# Eventually add the path to VCity internal dynamic libraries and plugins
# located in either Release or Debug subdirectory (environment variable
# CONFIGURATION in the matrix):
- set PATH=%APPVEYOR_BUILD_FOLDER%\%CONFIGURATION%;%PATH%
# We can now proceed with the sweet test suite
- ctest -V