-
Notifications
You must be signed in to change notification settings - Fork 1
/
appveyor.yml
141 lines (132 loc) · 4.73 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
# version format
version: 2.1.8-{branch}-build{build}
os: Visual Studio 2019
clone_folder: c:\projects\mrpt
platform: x64
configuration: Release
environment:
CTEST_OUTPUT_ON_FAILURE: 1
VERBOSE: 1 # for MRPT cmake scripts to show more info
build_script:
# NSIS: install required script for Windows binary packages:
- cd c:\projects\mrpt
- copy cmakemodules\registerExtension.nsh "C:\Program Files (x86)\NSIS\Include\"
- cd c:\projects\mrpt\build\
# Build debug libraries
# - cmake --build . --config Debug --target all_mrpt_libs
# re-call CMake to detect the debug libs and all them to the install package:
# - cmake .
# Do unit tests:
- cmake --build . --config Release --target test_legacy
# All seem OK. Build all.
# - cmake --build . --config Release
# Build package:
- cmake --build . --config Release --target PACKAGE
# Rename package:
- cd c:\projects\mrpt
- cmd: IF NOT DEFINED APPVEYOR_REPO_TAG_NAME SET APPVEYOR_REPO_TAG_NAME=build
- cmd: move c:\projects\mrpt\build\MRPT*.exe c:\projects\mrpt\mrpt-%APPVEYOR_REPO_TAG_NAME%-%APPVEYOR_REPO_BRANCH%.exe
- dir
install:
# ====== Install OpenCV
- choco upgrade chocolatey
- choco install opencv -y
- tree c:\tools\opencv\build /F
- set OPENCVDIR=C:\tools\opencv\build\
# This variable is parsed by MRPT/cmakemodules/script_opencv.cmake:
- set OPENCV_DLLS_TO_INSTALL_DIRS=%OPENCVDIR%bin;%OPENCVDIR%x64\vc15\bin
- set PATH=%PATH%;%OPENCVDIR%\bin;%OPENCVDIR%\x64\vc15\bin
# ====== Install wxWidgets
- cd c:\
- ps: Start-FileDownload 'https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.3/wxMSW-3.1.3_vc14x_x64_Dev.7z'
- ps: Start-FileDownload 'https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.3/wxWidgets-3.1.3-headers.7z'
- ps: Start-FileDownload 'https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.3/wxMSW-3.1.3_vc14x_x64_ReleaseDLL.7z'
- 7z x wxMSW-3.1.3_vc14x_x64_Dev.7z -oc:\wxWidgets -aoa
- 7z x wxWidgets-3.1.3-headers.7z -oc:\wxWidgets -aoa
- 7z x wxMSW-3.1.3_vc14x_x64_ReleaseDLL.7z -oc:\wxWidgets -aoa
- set WXWIDGETSDIR=C:\wxWidgets
- set WXWIDGETSLIBDIR=%WXWIDGETSDIR%\lib\vc14x_x64_dll\
- set PATH=%PATH%;%WXWIDGETSLIBDIR%
# ====== Qt
- set QTDIR=C:\Qt\5.14.1\msvc2017_64
- set PATH=%PATH%;%QTDIR%\bin
# ====== NSIS for packaging
- choco install nsis
# ====== show final PATH
- PATH
before_build:
- cd c:\projects\mrpt
- git submodule update --init --recursive
- mkdir build
# AppVeyor has a 90 minutes limit: disable some parts.
- cmake -S. -Bbuild -G "Visual Studio 16 2019" \
-DEIGEN_USE_EMBEDDED_VERSION=ON -DBUILD_ASSIMP=OFF \
-DOpenCV_DIR=%OPENCVDIR% -DwxWidgets_ROOT_DIR=%WXWIDGETSDIR% -DwxWidgets_LIB_DIR=%WXWIDGETSLIBDIR% \
-DBUILD_mrpt-hmtslam=OFF \
-DBUILD_APP_DifOdometry-Camera=OFF -DBUILD_APP_DifOdometry-Datasets=OFF \
-DBUILD_APP_benchmarking-image-features=OFF \
-DBUILD_APP_carmen2rawlog=OFF \
-DBUILD_APP_carmen2simplemap=OFF \
-DBUILD_APP_hmt-slam=OFF \
-DBUILD_APP_hmt-slam-gui=OFF \
-DBUILD_APP_hmtMapViewer=OFF \
-DBUILD_APP_map-partition=OFF \
-DBUILD_APP_rosbag2rawlog=OFF \
-DBUILD_APP_simul-landmarks=OFF \
-DBUILD_APP_simul-beacons=OFF \
-DBUILD_APP_simul-gridmap=OFF \
-DBUILD_APP_kinect-3d-slam=OFF \
-DBUILD_APP_mrpt-performance=OFF \
-DBUILD_APP_yaml2ini=OFF \
-DBUILD_APP_ini2yaml=OFF \
-DBUILD_KINECT=OFF
on_failure:
- ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
#---------------------------------#
# artifacts configuration #
#---------------------------------#
artifacts:
- path: 'mrpt*.exe'
#---------------------------------#
# deployment configuration #
#---------------------------------#
deploy:
- provider: BinTray
on:
branch: develop
username: jlblancoc
api_key:
secure: /wf8T+rsWefWakICQHmyXWaQUUufN3GD9c2zEfs1zHc2jU5kO1d/KocnxKRNSx1j
subject: mrpt
repo: mrpt-win-binaries
package: MRPT-nightly-builds
version: win64-develop
publish: true
override: true
explode: true
- provider: BinTray
on:
branch: master
username: jlblancoc
api_key:
secure: /wf8T+rsWefWakICQHmyXWaQUUufN3GD9c2zEfs1zHc2jU5kO1d/KocnxKRNSx1j
subject: mrpt
repo: mrpt-win-binaries
package: MRPT-nightly-builds
version: win64-stable
publish: true
override: true
explode: true
- provider: BinTray
on:
APPVEYOR_REPO_TAG: true
username: jlblancoc
api_key:
secure: /wf8T+rsWefWakICQHmyXWaQUUufN3GD9c2zEfs1zHc2jU5kO1d/KocnxKRNSx1j
subject: mrpt
repo: mrpt-win-binaries
package: MRPT-nightly-builds
version: win64-tags
publish: true
override: true
explode: true