-
Notifications
You must be signed in to change notification settings - Fork 84
/
Copy pathappveyor.yml
77 lines (77 loc) · 3.79 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
image: Visual Studio 2019
platform: x64
configuration: Release
init:
# To get RDP details for the current build worker
- ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
on_finish:
# If you need to investigate worker on build finish add $blockRdp = $true; to display Remote Desktop connection details and pause the build until a special “lock” file on VM desktop is deleted:
#- ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
environment:
APPVEYOR_SAVE_CACHE_ON_ERROR: true
cache:
- C:\Tools\vcpkg\installed\
install: # scripts that run after cloning repository
# Update appveyor build version using git repository tags
- cmd: |
for /f %%a in ('"git describe --always --tags --broken --long"') do set gitVersion=%%a
appveyor UpdateBuild -Version "%gitVersion%-build-%APPVEYOR_BUILD_NUMBER%"
# Download plugin deps: Basler pylon, AVT vimba, etc
- appveyor DownloadFile "%THIRDPARTY_LIBS_ZIP%" -FileName 3rdpartylibs.zip
- dir
- md 3rdpartylibs
- cd 3rdpartylibs
- pwd
- dir
- 7z x ..\3rdpartylibs.zip > nul
- dir
- set AVT_VIMBA_DIR=C:\projects\neuvision\3rdpartylibs\avtvimba
- set PYLON_DEV_DIR=C:\projects\neuvision\3rdpartylibs\pylon
- cd ..
- pwd
- dir
# Download/install deps
# we update vcpkg/installed folder manually since it takes too long
# next runs should use appveyor cache and work ... we need to automate this!
- vcpkg list
# pause the build until a special “lock” file on VM desktop is deleted
# useful to manually copy/download/update vcpkg libs like vtk & pcl that cannot be built in CI
#- ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
- vcpkg install opencv:x64-windows --recurse
#- vcpkg install vtk:x64-windows # takes a really long time, build won't work on CI
#- vcpkg install pcl:x64-windows # takes a really long time, build won't work on CI
# Just to debug what vcpkg installed
#- dir "C:/Tools/vcpkg/installed/x64-windows" & exit 0
#- dir "C:/Tools/vcpkg/installed/x64-windows/include" & exit 0
- dir "C:/Tools/vcpkg/installed/x64-windows/lib" & exit 0
- dir "C:/Tools/vcpkg/installed/x64-windows/bin" & exit 0
build_script:
- call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x86_amd64
- call .\scripts\build_win.bat
#test_script:
# - cd %APPVEYOR_BUILD_FOLDER%/build/Release && ctest --output-on-failure
after_build:
- cd %APPVEYOR_BUILD_FOLDER%/build/Release/bin
- call "%Qt5_DIR%\bin\windeployqt.exe" -concurrent -multimedia -multimediawidgets --qmldir ./../../../apps/Z3DScanner/qml/ --qmldir ./../../../apps/Z3DCloudViewer/qml/ ./Z3DScanner.exe ./Z3DCloudViewer.exe
- cp "C:/Tools/vcpkg/installed/x64-windows/bin"/*.dll . # copy dependencies
- del /s /q *.lib # remove unnecessary lib files
- del /s /q *.exp # remove unnecessary exp files
- del /s /q *.manifest # remove unnecessary manifest files
artifacts:
# pushing entire folder as a zip archive
- path: build/Release/bin
name: NEUVision-Windows-x64-v$(appveyor_build_version)
- path: build/install
name: NEUVision-dev-Windows-x64-v$(appveyor_build_version)
deploy:
release: NEUVision-Windows-x64-v$(appveyor_build_version)
description: 'Automatic snapshot release from CI'
provider: GitHub
auth_token:
secure: HB3l4Z3rheEHCGg+L8nuqS3uxbm+hX807Um8YG+IFj2uWDolRuiJVR1Kx99T8bwC
artifact: /.*\.zip/ # upload all zip packages to release assets
draft: true
prerelease: true
on:
# branch: master # release from master branch only
appveyor_repo_tag: true # deploy on tag push only