Skip to content

Commit 2324aa1

Browse files
committed
Merge #15529: Add Qt programs to msvc build (updated, no code changes)
1619684 Added libbitcoin_qt and bitcoin-qt to the msbuild configuration. (Aaron Clauson) Pull request description: This PR has ~~90%~~ all of the work done to allow the bitcoin Qt programs to be built with msvc and the appveyor script. Outstanding issues: - ~~There are ~~3~~ ~~6~~ 5 code tweaks required for the bitcoin Qt components to be built without warnings with msvc. They seem minor~~, - Building Qt as a static library for Windows is painful and time consuming. I doubt it will ever be possible to build Qt from source as part of an appveyor job (and it would probably take over an hour even if it was). My tentative solution is to build locally and upload the binaries as a [github release](https://github.com/sipsorcery/qt_win_binary/releases). The msvc build is only for testing and tinkering but even so this doesn't feel like the ideal solution. Open to suggestions? - ~~There is still an issue to sort out with the payment request URL handling. Building Qt with openssl is an extra headache. I will continue to work on getting this working.~~ The big benefit of this PR is the ability to run bitcoin-qt within a Visual Studio debugging session which could expedite tracking down issues on Windows. On a side note the test-bitcoin-qt tests fail very early, probably due to *nix specific tests. I haven't dug into them at this point. **Update 28 Jun 2019**: The ENABLE_BIP70 option is now off (it's flagged for removal as per #15584). With it disabled msbuild does not require any code changes to build the Bitcoin Core Qt applications. ACKs for top commit: fanquake: re-ACK 1619684 - AppVeyor looks ok now. Tree-SHA512: c0d3fd53b3ff99096b2505d519ed5ca6791bc4bce77addf9c520dc042eec5980a51a1fb9f0aa72e9cc53773085c43218793ca7a915a47806a3a1ffb84d9409f9
2 parents 2296fe6 + 1619684 commit 2324aa1

File tree

9 files changed

+515
-1062
lines changed

9 files changed

+515
-1062
lines changed

.appveyor.yml

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,16 @@ clone_depth: 5
77
environment:
88
APPVEYOR_SAVE_CACHE_ON_ERROR: true
99
CLCACHE_SERVER: 1
10-
PACKAGES: berkeleydb boost-filesystem boost-signals2 boost-test libevent openssl rapidcheck zeromq
10+
PACKAGES: berkeleydb boost-filesystem boost-signals2 boost-test libevent openssl rapidcheck zeromq double-conversion
1111
PATH: 'C:\Python37-x64;C:\Python37-x64\Scripts;%PATH%'
1212
PYTHONUTF8: 1
13+
QT_DOWNLOAD_URL: 'https://github.com/sipsorcery/qt_win_binary/releases/download/v1.0/Qt5.9.7_ssl_x64_static_vs2017.zip'
14+
QT_DOWNLOAD_HASH: 'D4D35B8112302B67E5610A03421BB3E43FE13F14D9A5F637C22AE60DCEC0E0F5'
15+
QT_LOCAL_PATH: 'C:\Qt5.9.7_ssl_x64_static_vs2017'
1316
cache:
14-
- C:\tools\vcpkg\installed -> .appveyor.yml
17+
- C:\tools\vcpkg\installed
1518
- C:\Users\appveyor\clcache -> .appveyor.yml, build_msvc\**, **\Makefile.am, **\*.vcxproj.in
19+
- C:\Qt5.9.7_ssl_x64_static_vs2017
1620
install:
1721
- cmd: pip install --quiet git+https://github.com/frerich/[email protected]
1822
# Disable zmq test for now since python zmq library on Windows would cause Access violation sometimes.
@@ -22,6 +26,23 @@ install:
2226
- cmd: vcpkg install --triplet %PLATFORM%-windows-static %PACKAGES% > NUL
2327
before_build:
2428
- ps: clcache -M 536870912
29+
- ps: |
30+
if(!(Test-Path -Path ($env:QT_LOCAL_PATH))) {
31+
Write-Host "Downloading Qt binaries.";
32+
Invoke-WebRequest -Uri $env:QT_DOWNLOAD_URL -Out qtdownload.zip;
33+
Write-Host "Qt binaries successfully downloaded, checking hash against $env:QT_DOWNLOAD_HASH...";
34+
if((Get-FileHash qtdownload.zip).Hash -eq $env:QT_DOWNLOAD_HASH) {
35+
Expand-Archive qtdownload.zip -DestinationPath $env:QT_LOCAL_PATH;
36+
Write-Host "Qt binary download matched the expected hash.";
37+
}
38+
else {
39+
Write-Host "ERROR: Qt binary download did not match the expected hash.";
40+
Exit-AppveyorBuild;
41+
}
42+
}
43+
else {
44+
Write-Host "Qt binaries already present.";
45+
}
2546
- cmd: python build_msvc\msvc-autogen.py
2647
- ps: $files = (Get-ChildItem -Recurse | where {$_.extension -eq ".vcxproj"}).FullName
2748
- ps: for (${i} = 0; ${i} -lt ${files}.length; ${i}++) {
@@ -37,10 +58,13 @@ build_script:
3758
after_build:
3859
- ps: fsutil behavior set disablelastaccess 1 # Disable Access time feature on Windows (better performance)
3960
- ps: clcache -z
61+
#- 7z a bitcoin-%APPVEYOR_BUILD_VERSION%.zip %APPVEYOR_BUILD_FOLDER%\build_msvc\%platform%\%configuration%\*.exe
4062
test_script:
4163
- cmd: src\test_bitcoin.exe -k stdout -e stdout 2> NUL
4264
- cmd: src\bench_bitcoin.exe -evals=1 -scaling=0 > NUL
4365
- ps: python test\util\bitcoin-util-test.py
4466
- cmd: python test\util\rpcauth-test.py
4567
- cmd: python test\functional\test_runner.py --ci --quiet --combinedlogslen=4000 --failfast
68+
artifacts:
69+
#- path: bitcoin-%APPVEYOR_BUILD_VERSION%.zip
4670
deploy: off

build_msvc/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,5 @@ packages/*
1010
*.vcxproj.user
1111
*.vcxproj
1212
*/Win32
13+
libbitcoin_qt/QtGeneratedFiles/*
14+
test_bitcoin-qt/QtGeneratedFiles/*

build_msvc/README.md

Lines changed: 55 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,32 +3,54 @@ Building Bitcoin Core with Visual Studio
33

44
Introduction
55
---------------------
6-
Solution and project files to build the Bitcoin Core applications (except Qt dependent ones) with Visual Studio 2017 can be found in the build_msvc directory.
6+
Solution and project files to build the Bitcoin Core applications `msbuild` or Visual Studio can be found in the build_msvc directory. The build has been tested with Visual Studio 2017 and 2019.
77

88
Building with Visual Studio is an alternative to the Linux based [cross-compiler build](https://github.com/bitcoin/bitcoin/blob/master/doc/build-windows.md).
99

10+
Quick Start
11+
---------------------
12+
The minimal steps required to build Bitcoin Core with the msbuild toolchain are below. More detailed instructions are contained in the following sections.
13+
14+
```
15+
vcpkg install --triplet x64-windows-static boost-filesystem boost-signals2 boost-test libevent openssl zeromq berkeleydb rapidcheck double-conversion
16+
py -3 build_msvc\msvc-autogen.py
17+
msbuild /m build_msvc\bitcoin.sln /p:Platform=x64 /p:Configuration=Release /t:build
18+
```
19+
1020
Dependencies
1121
---------------------
12-
A number of [open source libraries](https://github.com/bitcoin/bitcoin/blob/master/doc/dependencies.md) are required in order to be able to build Bitcoin.
22+
A number of [open source libraries](https://github.com/bitcoin/bitcoin/blob/master/doc/dependencies.md) are required in order to be able to build Bitcoin Core.
1323

1424
Options for installing the dependencies in a Visual Studio compatible manner are:
1525

1626
- Use Microsoft's [vcpkg](https://docs.microsoft.com/en-us/cpp/vcpkg) to download the source packages and build locally. This is the recommended approach.
1727
- Download the source code, build each dependency, add the required include paths, link libraries and binary tools to the Visual Studio project files.
1828
- Use [nuget](https://www.nuget.org/) packages with the understanding that any binary files have been compiled by an untrusted third party.
1929

20-
The external dependencies required for the Visual Studio build are (see [dependencies.md](https://github.com/bitcoin/bitcoin/blob/master/doc/dependencies.md) for more info):
30+
The [external dependencies](https://github.com/bitcoin/bitcoin/blob/master/doc/dependencies.md) required for building are:
2131

2232
- Berkeley DB
23-
- OpenSSL
2433
- Boost
34+
- DoubleConversion
2535
- libevent
26-
- ZeroMQ
36+
- OpenSSL
37+
- Qt5
2738
- RapidCheck
39+
- ZeroMQ
40+
41+
Qt
42+
---------------------
43+
All the Bitcoin Core applications are configured to build with static linking. In order to build the Bitcoin Core Qt applications a static build of Qt is required.
44+
45+
The runtime library version (e.g. v141, v142) and platform type (x86 or x64) must also match. OpenSSL must also be linked into the Qt binaries in order to provide full functionality of the Bitcoin Core Qt programs. An example of the configure command to build Qtv5.9.7 locally to link with Bitcoin Core is shown below (adjust paths accordingly), note it can be expected that the configure and subsequent build will fail numerous times until dependency issues are resolved.
46+
47+
````
48+
..\Qtv5.9.7_src\configure -developer-build -confirm-license -debug-and-release -opensource -platform win32-msvc -opengl desktop -no-shared -static -no-static-runtime -mp -qt-zlib -qt-pcre -qt-libpng -ltcg -make libs -make tools -no-libjpeg -nomake examples -no-compile-examples -no-dbus -no-libudev -no-qml-debug -no-icu -no-gtk -no-opengles3 -no-angle -no-sql-sqlite -no-sql-odbc -no-sqlite -no-libudev -skip qt3d -skip qtactiveqt -skip qtandroidextras -skip qtcanvas3d -skip qtcharts -skip qtconnectivity -skip qtdatavis3d -skip qtdeclarative -skip qtdoc -skip qtgamepad -skip qtgraphicaleffects -skip qtimageformats -skip qtlocation -skip qtmacextras -skip qtmultimedia -skip qtnetworkauth -skip qtpurchasing -skip qtquickcontrols -skip qtquickcontrols2 -skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtspeech -skip qtvirtualkeyboard -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview -skip qtx11extras -skip qtxmlpatterns -nomake tests -openssl-linked -IC:\Dev\github\vcpkg\installed\x64-windows-static\include -LC:\Dev\github\vcpkg\installed\x64-windows-static\lib OPENSSL_LIBS="-llibeay32 -lssleay32 -lgdi32 -luser32 -lwsock32 -ladvapi32" -prefix C:\Qt5.9.7_ssl_x64_static_vs2017
49+
````
50+
51+
A prebuilt version for x64 and Visual C++ runtime v141 (Visual Studio 2017) can be downloaded from [here](https://github.com/sipsorcery/qt_win_binary/releases). Please be aware this download is NOT an officially sanctioned Bitcoin Core distribution and is provided for developer convenience. It should NOT be used for builds that will be used in a production environment or with real funds.
2852

29-
Additional dependencies required from the [bitcoin-core](https://github.com/bitcoin-core) GitHub repository are:
30-
- libsecp256k1
31-
- LevelDB
53+
To build Bitcoin Core without Qt unload or disable the bitcoin-qt, libbitcoin_qt and test_bitcoin-qt projects.
3254

3355
Building
3456
---------------------
@@ -38,7 +60,7 @@ The instructions below use `vcpkg` to install the dependencies.
3860
- Install the required packages (replace x64 with x86 as required):
3961

4062
```
41-
PS >.\vcpkg install --triplet x64-windows-static boost-filesystem boost-signals2 boost-test libevent openssl zeromq berkeleydb secp256k1 leveldb rapidcheck
63+
PS >.\vcpkg install --triplet x64-windows-static boost-filesystem boost-signals2 boost-test libevent openssl zeromq berkeleydb rapidcheck double-conversion
4264
```
4365

4466
- Use Python to generate *.vcxproj from Makefile
@@ -47,4 +69,27 @@ The instructions below use `vcpkg` to install the dependencies.
4769
PS >py -3 msvc-autogen.py
4870
```
4971

50-
- Build in Visual Studio.
72+
- An optional step is to adjust the settings in the build_msvc directory and the common.init.vcxproj file. This project file contains settings that are common to all projects such as the runtime library version and target Windows SDK version. The Qt directories can also be set.
73+
74+
- Build with Visual Studio 2017 or msbuild.
75+
76+
```
77+
msbuild /m bitcoin.sln /p:Platform=x64 /p:Configuration=Release /t:build
78+
```
79+
80+
- Build with Visual Studio 2019 or msbuild.
81+
82+
```
83+
msbuild /m bitcoin.sln /p:Platform=x64 /p:Configuration=Release /p:PlatformToolset=v142 /t:build
84+
```
85+
86+
AppVeyor
87+
---------------------
88+
The .appveyor.yml in the root directory is suitable to perform builds on [AppVeyor](https://www.appveyor.com/) Continuous Integration servers. The simplest way to perform an AppVeyor build is to fork Bitcoin Core and then configure a new AppVeyor Project pointing to the forked repository.
89+
90+
For safety reasons the Bitcoin Core .appveyor.yml file has the artifact options disabled. The build will be performed but no executable files will be available. To enable artifacts on a forked repository uncomment the lines shown below:
91+
92+
```
93+
#- 7z a bitcoin-%APPVEYOR_BUILD_VERSION%.zip %APPVEYOR_BUILD_FOLDER%\build_msvc\%platform%\%configuration%\*.exe
94+
#- path: bitcoin-%APPVEYOR_BUILD_VERSION%.zip
95+
```
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<Import Project="..\common.init.vcxproj" />
4+
<Import Project="..\common.qt.init.vcxproj" />
5+
<PropertyGroup Label="Globals">
6+
<ProjectGuid>{7E99172D-7FF2-4CB6-B736-AC9B76ED412A}</ProjectGuid>
7+
<ConfigurationType>Application</ConfigurationType>
8+
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
9+
</PropertyGroup>
10+
<ItemGroup>
11+
<ClCompile Include="..\..\src\qt\main.cpp" />
12+
<ResourceCompile Include="..\..\src\qt\res\bitcoin-qt-res.rc" />
13+
</ItemGroup>
14+
<ItemGroup>
15+
<ProjectReference Include="..\libbitcoinconsensus\libbitcoinconsensus.vcxproj">
16+
<Project>{2b384fa8-9ee1-4544-93cb-0d733c25e8ce}</Project>
17+
</ProjectReference>
18+
<ProjectReference Include="..\libbitcoin_cli\libbitcoin_cli.vcxproj">
19+
<Project>{0667528c-d734-4009-adf9-c0d6c4a5a5a6}</Project>
20+
</ProjectReference>
21+
<ProjectReference Include="..\libbitcoin_common\libbitcoin_common.vcxproj">
22+
<Project>{7c87e378-df58-482e-aa2f-1bc129bc19ce}</Project>
23+
</ProjectReference>
24+
<ProjectReference Include="..\libbitcoin_crypto\libbitcoin_crypto.vcxproj">
25+
<Project>{6190199c-6cf4-4dad-bfbd-93fa72a760c1}</Project>
26+
</ProjectReference>
27+
<ProjectReference Include="..\libbitcoin_qt\libbitcoin_qt.vcxproj">
28+
<Project>{2b4abff8-d1fd-4845-88c9-1f3c0a6512bf}</Project>
29+
</ProjectReference>
30+
<ProjectReference Include="..\libbitcoin_server\libbitcoin_server.vcxproj">
31+
<Project>{460fee33-1fe1-483f-b3bf-931ff8e969a5}</Project>
32+
</ProjectReference>
33+
<ProjectReference Include="..\libbitcoin_util\libbitcoin_util.vcxproj">
34+
<Project>{b53a5535-ee9d-4c6f-9a26-f79ee3bc3754}</Project>
35+
</ProjectReference>
36+
<ProjectReference Include="..\libbitcoin_wallet\libbitcoin_wallet.vcxproj">
37+
<Project>{93b86837-b543-48a5-a89b-7c87abb77df2}</Project>
38+
</ProjectReference>
39+
<ProjectReference Include="..\libbitcoin_zmq\libbitcoin_zmq.vcxproj">
40+
<Project>{792d487f-f14c-49fc-a9de-3fc150f31c3f}</Project>
41+
</ProjectReference>
42+
<ProjectReference Include="..\libleveldb\libleveldb.vcxproj">
43+
<Project>{18430fef-6b61-4c53-b396-718e02850f1b}</Project>
44+
</ProjectReference>
45+
<ProjectReference Include="..\libsecp256k1\libsecp256k1.vcxproj">
46+
<Project>{bb493552-3b8c-4a8c-bf69-a6e7a51d2ea6}</Project>
47+
</ProjectReference>
48+
<ProjectReference Include="..\libunivalue\libunivalue.vcxproj">
49+
<Project>{5724ba7d-a09a-4ba8-800b-c4c1561b3d69}</Project>
50+
</ProjectReference>
51+
</ItemGroup>
52+
53+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
54+
<ClCompile>
55+
<AdditionalIncludeDirectories>$(QtIncludes);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
56+
</ClCompile>
57+
<Link>
58+
<AdditionalDependencies>$(QtReleaseLibraries);%(AdditionalDependencies)</AdditionalDependencies>
59+
</Link>
60+
<ResourceCompile>
61+
<AdditionalIncludeDirectories>..\..\src;</AdditionalIncludeDirectories>
62+
<PreprocessorDefinitions>HAVE_CONFIG_H;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
63+
</ResourceCompile>
64+
</ItemDefinitionGroup>
65+
66+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
67+
<ClCompile>
68+
<AdditionalIncludeDirectories>$(QtIncludes);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
69+
</ClCompile>
70+
<Link>
71+
<AdditionalDependencies>$(QtDebugLibraries);%(AdditionalDependencies)</AdditionalDependencies>
72+
</Link>
73+
<ResourceCompile>
74+
<AdditionalIncludeDirectories>..\..\src;</AdditionalIncludeDirectories>
75+
<PreprocessorDefinitions>HAVE_CONFIG_H;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
76+
</ResourceCompile>
77+
</ItemDefinitionGroup>
78+
79+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
80+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
81+
</Project>

build_msvc/bitcoin.sln

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsecp256k1", "libsecp256k
4040
EndProject
4141
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libleveldb", "libleveldb\libleveldb.vcxproj", "{18430FEF-6B61-4C53-B396-718E02850F1B}"
4242
EndProject
43+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbitcoin_qt", "libbitcoin_qt\libbitcoin_qt.vcxproj", "{2B4ABFF8-D1FD-4845-88C9-1F3C0A6512BF}"
44+
EndProject
45+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bitcoin-qt", "bitcoin-qt\bitcoin-qt.vcxproj", "{7E99172D-7FF2-4CB6-B736-AC9B76ED412A}"
46+
EndProject
4347
Global
4448
GlobalSection(SolutionConfigurationPlatforms) = preSolution
4549
Debug|x64 = Debug|x64
@@ -200,11 +204,27 @@ Global
200204
{18430FEF-6B61-4C53-B396-718E02850F1B}.Release|x64.Build.0 = Release|x64
201205
{18430FEF-6B61-4C53-B396-718E02850F1B}.Release|x86.ActiveCfg = Release|Win32
202206
{18430FEF-6B61-4C53-B396-718E02850F1B}.Release|x86.Build.0 = Release|Win32
207+
{2B4ABFF8-D1FD-4845-88C9-1F3C0A6512BF}.Debug|x64.ActiveCfg = Debug|x64
208+
{2B4ABFF8-D1FD-4845-88C9-1F3C0A6512BF}.Debug|x64.Build.0 = Debug|x64
209+
{2B4ABFF8-D1FD-4845-88C9-1F3C0A6512BF}.Debug|x86.ActiveCfg = Debug|Win32
210+
{2B4ABFF8-D1FD-4845-88C9-1F3C0A6512BF}.Debug|x86.Build.0 = Debug|Win32
211+
{2B4ABFF8-D1FD-4845-88C9-1F3C0A6512BF}.Release|x64.ActiveCfg = Release|x64
212+
{2B4ABFF8-D1FD-4845-88C9-1F3C0A6512BF}.Release|x64.Build.0 = Release|x64
213+
{2B4ABFF8-D1FD-4845-88C9-1F3C0A6512BF}.Release|x86.ActiveCfg = Release|Win32
214+
{2B4ABFF8-D1FD-4845-88C9-1F3C0A6512BF}.Release|x86.Build.0 = Release|Win32
215+
{7E99172D-7FF2-4CB6-B736-AC9B76ED412A}.Debug|x64.ActiveCfg = Debug|x64
216+
{7E99172D-7FF2-4CB6-B736-AC9B76ED412A}.Debug|x64.Build.0 = Debug|x64
217+
{7E99172D-7FF2-4CB6-B736-AC9B76ED412A}.Debug|x86.ActiveCfg = Debug|Win32
218+
{7E99172D-7FF2-4CB6-B736-AC9B76ED412A}.Debug|x86.Build.0 = Debug|Win32
219+
{7E99172D-7FF2-4CB6-B736-AC9B76ED412A}.Release|x64.ActiveCfg = Release|x64
220+
{7E99172D-7FF2-4CB6-B736-AC9B76ED412A}.Release|x64.Build.0 = Release|x64
221+
{7E99172D-7FF2-4CB6-B736-AC9B76ED412A}.Release|x86.ActiveCfg = Release|Win32
222+
{7E99172D-7FF2-4CB6-B736-AC9B76ED412A}.Release|x86.Build.0 = Release|Win32
203223
EndGlobalSection
204224
GlobalSection(SolutionProperties) = preSolution
205225
HideSolutionNode = FALSE
206226
EndGlobalSection
207227
GlobalSection(ExtensibilityGlobals) = postSolution
208-
SolutionGuid = {DA7D16A6-E5F0-45B3-B194-C3FE64F1BFCD}
228+
SolutionGuid = {8AA72EDA-2CD4-4564-B1E4-688B760EEEE9}
209229
EndGlobalSection
210230
EndGlobal

build_msvc/common.init.vcxproj

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
<VCProjectVersion>16.0</VCProjectVersion>
77
<VcpkgTriplet Condition="'$(Platform)'=='Win32'">x86-windows-static</VcpkgTriplet>
88
<VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet>
9-
</PropertyGroup>
9+
</PropertyGroup>
10+
1011
<PropertyGroup Condition="'$(WindowsTargetPlatformVersion)'=='' and !Exists('$(WindowsSdkDir)\DesignTime\CommonConfiguration\Neutral\Windows.props')">
1112
<WindowsTargetPlatformVersion_10 Condition="'$(WindowsTargetPlatformVersion_10)' == ''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0@ProductVersion)</WindowsTargetPlatformVersion_10>
1213
<WindowsTargetPlatformVersion_10 Condition="'$(WindowsTargetPlatformVersion_10)' == ''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v10.0@ProductVersion)</WindowsTargetPlatformVersion_10>
@@ -20,7 +21,7 @@
2021
<Configuration>Release</Configuration>
2122
<Platform>x64</Platform>
2223
</ProjectConfiguration>
23-
<ProjectConfiguration Include="Debug|x64">
24+
<ProjectConfiguration Include="Debug|x64">
2425
<Configuration>Debug</Configuration>
2526
<Platform>x64</Platform>
2627
</ProjectConfiguration>
@@ -66,6 +67,7 @@
6667
<OptimizeReferences>true</OptimizeReferences>
6768
</Link>
6869
</ItemDefinitionGroup>
70+
6971
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
7072
<ClCompile>
7173
<Optimization>Disabled</Optimization>
@@ -75,6 +77,7 @@
7577
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
7678
</ClCompile>
7779
</ItemDefinitionGroup>
80+
7881
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
7982
<ClCompile>
8083
<Optimization>MaxSpeed</Optimization>
@@ -88,6 +91,7 @@
8891
<OptimizeReferences>true</OptimizeReferences>
8992
</Link>
9093
</ItemDefinitionGroup>
94+
9195
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
9296
<ClCompile>
9397
<Optimization>Disabled</Optimization>
@@ -103,7 +107,7 @@
103107
<WarningLevel>Level3</WarningLevel>
104108
<PrecompiledHeader>NotUsing</PrecompiledHeader>
105109
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
106-
<DisableSpecificWarnings>4018;4221;4244;4267;4715;4805;</DisableSpecificWarnings>
110+
<DisableSpecificWarnings>4018;4221;4244;4267;4334;4715;4805;</DisableSpecificWarnings>
107111
<TreatWarningAsError>true</TreatWarningAsError>
108112
<PreprocessorDefinitions>ZMQ_STATIC;NOMINMAX;WIN32;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_CONSOLE;_WIN32_WINNT=0x0601;%(PreprocessorDefinitions)</PreprocessorDefinitions>
109113
<AdditionalIncludeDirectories>..\..\src;..\..\src\univalue\include;..\..\src\secp256k1\include;..\..\src\leveldb\include;..\..\src\leveldb\helpers\memenv;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

0 commit comments

Comments
 (0)