blob: 093113f739b7eae3b6c4bba651bfef56e7ffc894 (
plain)
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
|
version: 0.12.{branch}.appveyor_{build}
clone_depth: 1
# Do not build on tags (GitHub only)
skip_tags: true
os: Windows Server 2012
platform:
- Win32 # CMake sucks
- x64
configuration:
- Debug
- Release
environment:
VisualStudioVersion: 11.0
Generator_Base: Visual Studio 11 2012
OPENSSL_VERSION: 1.0.2f
PCRE_VERSION: 8.38
CMAKE_UNIBUILD_DIR: '%APPVEYOR_BUILD_FOLDER%\..\cmake'
BOXBACKUP_VERSION_BASE: 0.12
init:
# Uncomment the following two lines to enable RDP access to the virtual machine for debugging.
# - reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f
# - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
- ps: $env:date_string = Get-Date -Format "yyMMdd"
- ps: $env:sane_platform = $($env:PLATFORM.replace("Win32", "x86"))
# http://help.appveyor.com/discussions/problems/2874-how-can-i-add-commit-id-to-build-version
- ps: $env:boxbackup_version_full="$env:BOXBACKUP_VERSION_BASE.$env:APPVEYOR_REPO_BRANCH.$env:date_string.$($env:APPVEYOR_REPO_COMMIT.substring(0,7))"
- ps: Update-AppveyorBuild -Version "$env:boxbackup_version_full"
- ps: $env:compiled_version="$($env:boxbackup_version_full)_Win_$($env:sane_platform)_$($env:CONFIGURATION)"
# The only way to switch between 32-bit and 64-bit compilers appears to be to append " Win64"
# to the generator name if you want a 64-bit build (x64 platform):
- ps: $env:generator_name="$($env:Generator_Base)$(if ($env:PLATFORM.equals('x64')) {' Win64'})"
# scripts that run after cloning repository (before the build step, not after!)
install:
# test_bbackupd needs 7zip (or cmake -E tar) to extract tar archives on Windows:
- cinst -y --limit-output 7zip.commandline nsis.portable
- dir "c:\Program Files"
- dir "c:\Program Files (x86)"
# We don't need strawberryperl on AppVeyor because there is already a Perl in c:\Perl.
# If you are doing this on a fresh box for development, you would probably want to
# install Chocolatey and then run:
# cinst -y cmake.portable strawberryperl git vim visualstudio2012wdx
# We install cmake.portable instead of cmake, to get it on the path again
# <http://disq.us/p/xdknrt>.
- '"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x86'
- if not exist %CMAKE_UNIBUILD_DIR% md %CMAKE_UNIBUILD_DIR%
- cd %CMAKE_UNIBUILD_DIR%
# We need to specify the generator here, in case the user has more than one installed.
# CMake always seems to default to the latest version of Visual Studio, not the one on
# the current PATH.
- echo cmake -G "%generator_name%"
-DBOXBACKUP_VERSION=%compiled_version%
-DSUB_CMAKE_EXTRA_ARGS="-- /verbosity:minimal"
%APPVEYOR_BUILD_FOLDER%\infrastructure\cmake\windows
- cmake -G "%generator_name%"
-DBOXBACKUP_VERSION=%compiled_version%
-DSUB_CMAKE_EXTRA_ARGS="-- /verbosity:minimal"
%APPVEYOR_BUILD_FOLDER%\infrastructure\cmake\windows
# Leave the current directory in the correct place to find the solution file using its relative path above.
# Remove Xamarin to remove 500 lines of junk from build logs
# 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
before_build:
- del "C:\Program Files (x86)\MSBuild\4.0\Microsoft.Common.Targets\ImportAfter\Xamarin.Common.targets"
build:
parallel: true
project: ..\cmake\BoxBackup_Windows.sln
verbosity: minimal
test_script:
- cd %CMAKE_UNIBUILD_DIR%\Build\boxbackup
# - dir
# - dir bin_bbackupd.dir
# - dir %PLATFORM%
# - dir %PLATFORM%\%CONFIGURATION%
- ctest -C %CONFIGURATION% -V --interactive-debug-mode 0
# After running tests successfully, build the artifacts that we want to upload:
- cmake --build . --config %CONFIGURATION% --target package
# AppVeyor refuses to package files outside of the project directory, so we need to push them:
- dir
- appveyor PushArtifact -path BoxBackup-%compiled_version%.zip -DeploymentName BoxBackup-%compiled_version%
- appveyor PushArtifact -path BoxBackup-%compiled_version%.exe -DeploymentName BoxBackup-%compiled_version%
deploy:
- provider: GitHub
release: BoxBackup-$(boxbackup_version_full)
artifact: BoxBackup-$(compiled_version)
description: "Windows client binaries auto-built by AppVeyor"
draft: false
prerelease: true
auth_token:
secure: WZi3MJGA5zIIAAij0if4auYeltJlyWUOePTYlCGvrNrgEVjYRkqILHzvVKDnLn43
on:
branch:
- master
- windows_binary_packages
|