forked from bitcoin/bitcoin
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Update build image from Visual Studio 2017 to Visual Studio 2019. - Updated Qt static library from Qt5.9.7 to Qt5.9.8. - Added commands to update vcpkg port files (this does not update already installed packages). - Updated vcpkg package list as per bitcoin#17309. - Removed commands setting common project file options. Now done via common.init.vcxproj include. - Changed msbuild verbosity from normal to quiet. Normal rights a LOT of logs and impacts appveyor job duration. Updated msvc project configs: - Updated platform toolset from v141 to v142. - Updated Qt static library from Qt5.9.7 to Qt5.9.8. - Added ignore for linker warning building bitcoin-qt program. - Added missing util/str.cpp class file to test_bitcoin project file.
- Loading branch information
1 parent
7967104
commit 3c84dee
Showing
5 changed files
with
43 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,31 +1,56 @@ | ||
version: '{branch}.{build}' | ||
skip_tags: true | ||
image: Visual Studio 2017 | ||
image: Visual Studio 2019 | ||
configuration: Release | ||
platform: x64 | ||
clone_depth: 5 | ||
environment: | ||
APPVEYOR_SAVE_CACHE_ON_ERROR: true | ||
CLCACHE_SERVER: 1 | ||
PACKAGES: berkeleydb boost-filesystem boost-signals2 boost-test libevent openssl rapidcheck zeromq double-conversion | ||
PACKAGES: berkeleydb boost-filesystem boost-multi-index boost-signals2 boost-test boost-thread libevent openssl rapidcheck zeromq double-conversion | ||
PATH: 'C:\Python37-x64;C:\Python37-x64\Scripts;%PATH%' | ||
PYTHONUTF8: 1 | ||
QT_DOWNLOAD_URL: 'https://github.com/sipsorcery/qt_win_binary/releases/download/v1.0/Qt5.9.7_ssl_x64_static_vs2017.zip' | ||
QT_DOWNLOAD_HASH: 'D4D35B8112302B67E5610A03421BB3E43FE13F14D9A5F637C22AE60DCEC0E0F5' | ||
QT_LOCAL_PATH: 'C:\Qt5.9.7_ssl_x64_static_vs2017' | ||
QT_DOWNLOAD_URL: 'https://github.com/sipsorcery/qt_win_binary/releases/download/v1.4/Qt5.9.8_x64_static_vs2019.zip' | ||
QT_DOWNLOAD_HASH: 'f285cbb02bec3b3f3cc2621e3fa7d5edf0d6a66fa30c57859e583acda954ea80' | ||
QT_LOCAL_PATH: 'C:\Qt5.9.8_x64_static_vs2019' | ||
VCPKG_INSTALL_PATH: 'C:\tools\vcpkg\installed' | ||
cache: | ||
- C:\tools\vcpkg\installed | ||
- C:\Users\appveyor\clcache -> .appveyor.yml, build_msvc\**, **\Makefile.am, **\*.vcxproj.in | ||
- C:\Qt5.9.7_ssl_x64_static_vs2017 | ||
- C:\Qt5.9.8_x64_static_vs2019 | ||
install: | ||
- cmd: pip install --quiet git+https://github.com/frerich/[email protected] | ||
# Disable zmq test for now since python zmq library on Windows would cause Access violation sometimes. | ||
# - cmd: pip install zmq | ||
- cmd: echo set(VCPKG_BUILD_TYPE release) >> C:\tools\vcpkg\triplets\%PLATFORM%-windows-static.cmake | ||
- cmd: vcpkg remove --outdated --recurse | ||
- cmd: vcpkg install --triplet %PLATFORM%-windows-static %PACKAGES% > NUL | ||
# Powershell block below is to install the c++ dependencies via vcpkg. The pseudo code is: | ||
# 1. If the vcpkg install directory exists assume dependencies are installed and do nothing. To | ||
# force a fresh install of the packages delete the job's appveyor cache. | ||
# 2. Otherwise: | ||
# a. Update the vcpkg source (including port files) and build the vcpkg binary, | ||
# b. Install the required packages. | ||
- ps: | | ||
cd c:\tools\vcpkg | ||
if(!(Test-Path -Path ($env:VCPKG_INSTALL_PATH))) { | ||
$env:GIT_REDIRECT_STDERR = '2>&1' # git is writing non-errors to STDERR when doing git pull. Send to STDOUT instead. | ||
Add-Content "C:\tools\vcpkg\triplets\$env:PLATFORM-windows-static.cmake" "set(VCPKG_BUILD_TYPE release)" | ||
git pull origin master | ||
.\bootstrap-vcpkg.bat | ||
.\vcpkg install --triplet $env:PLATFORM-windows-static $env:PACKAGES.split() > $null | ||
} | ||
else { | ||
Write-Host "vcpkg packages already installed (to reinstall purge appveyor job's cache)." | ||
} | ||
.\vcpkg integrate install | ||
cd "$env:APPVEYOR_BUILD_FOLDER" | ||
before_build: | ||
- ps: clcache -M 536870912 | ||
# Powershell block below is to download and extract the Qt static libraries. The pseudo code is: | ||
# 1. If the Qt destination directory exists assume it is correct and do nothing. To | ||
# force a fresh install of the packages delete the job's appveyor cache. | ||
# 2. Otherwise: | ||
# a. Download the zip file with the prebuilt Qt static libraries. | ||
# b. Check that the downloaded file matches the expected hash. | ||
# c. Extract the zip file to the specific destination path expected by the msbuild projects. | ||
- ps: | | ||
if(!(Test-Path -Path ($env:QT_LOCAL_PATH))) { | ||
Write-Host "Downloading Qt binaries."; | ||
|
@@ -44,17 +69,10 @@ before_build: | |
Write-Host "Qt binaries already present."; | ||
} | ||
- cmd: python build_msvc\msvc-autogen.py | ||
- ps: $files = (Get-ChildItem -Recurse | where {$_.extension -eq ".vcxproj"}).FullName | ||
- ps: for (${i} = 0; ${i} -lt ${files}.length; ${i}++) { | ||
${content} = (Get-Content ${files}[${i}]); | ||
${content} = ${content}.Replace("</RuntimeLibrary>", "</RuntimeLibrary><DebugInformationFormat>None</DebugInformationFormat>"); | ||
${content} = ${content}.Replace("<WholeProgramOptimization>true", "<WholeProgramOptimization>false"); | ||
Set-Content ${files}[${i}] ${content}; | ||
} | ||
- ps: Start-Process clcache-server | ||
- ps: fsutil behavior set disablelastaccess 0 # Enable Access time feature on Windows (for clcache) | ||
build_script: | ||
- cmd: msbuild /p:TrackFileAccess=false /p:CLToolExe=clcache.exe build_msvc\bitcoin.sln /m /v:n /nologo | ||
- cmd: msbuild /p:TrackFileAccess=false /p:CLToolExe=clcache.exe build_msvc\bitcoin.sln /m /v:q /nologo | ||
after_build: | ||
- ps: fsutil behavior set disablelastaccess 1 # Disable Access time feature on Windows (better performance) | ||
- ps: clcache -z | ||
|
@@ -64,7 +82,8 @@ test_script: | |
- cmd: src\bench_bitcoin.exe -evals=1 -scaling=0 > NUL | ||
- ps: python test\util\bitcoin-util-test.py | ||
- cmd: python test\util\rpcauth-test.py | ||
- cmd: python test\functional\test_runner.py --ci --quiet --combinedlogslen=4000 --failfast | ||
# Fee estimation test failing on appveyor with: WinError 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted. | ||
- cmd: python test\functional\test_runner.py --ci --quiet --combinedlogslen=4000 --failfast --exclude feature_fee_estimation | ||
artifacts: | ||
#- path: bitcoin-%APPVEYOR_BUILD_VERSION%.zip | ||
deploy: off |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters