Merge #13964: ci: Add Appveyor CI

1f6ff04e59 Use wildcard path in test_bitcoin.vcxproj (Chun Kuan Lee)
90cc69c0c7 ci: Add appveyor.yml to build on MSVC (Chun Kuan Lee)
4d0c7924d2 Make macro compatible with MSVC (Chun Kuan Lee)

Pull request description:

  Introduce Appveyor CI for MSVC. This would require the owner adding appveyor to this repo. Also fix some MSVC incompatible code.

  This `appveyor.yml` file is modified from @sipsorcery and @NicolasDorier 's code in #12613.

  Appveyor CI result: https://ci.appveyor.com/project/ken2812221/bitcoin/build/1.0.151

Tree-SHA512: b5b0f1686a33e54325ea6de81606806a7d9a0f8d4acbb97c9ce598386e8fcb2220def264777609ed2b850ac8c490fd181303ea522c5a70487272d46995f4c52d
This commit is contained in:
MarcoFalke 2018-08-15 07:55:15 -04:00
commit e393a18b51
No known key found for this signature in database
GPG key ID: D2EA4850E7528B25
3 changed files with 40 additions and 68 deletions

34
appveyor.yml Normal file
View file

@ -0,0 +1,34 @@
skip_tags: true
image: Visual Studio 2017
configuration: Release
platform: x64
environment:
APPVEYOR_SAVE_CACHE_ON_ERROR: true
cache: C:\tools\vcpkg\installed\
before_build:
- ps: >-
$packages = @(
"boost-filesystem",
"boost-signals2",
"boost-interprocess",
"boost-test",
"libevent",
"openssl",
"zeromq",
"berkeleydb",
"secp256k1",
"leveldb"
)
for ($i=0; $i -lt $packages.length; $i++) {
$all_packages += $packages[$i] + ":" + $env:PLATFORM + "-windows-static "
}
Invoke-Expression -Command "vcpkg install $all_packages"
build:
project: build_msvc\bitcoin.sln
parallel: true
verbosity: minimal
test_script:
- cmd: build_msvc\%PLATFORM%\Release\test_bitcoin.exe
deploy: off

View file

@ -20,72 +20,10 @@
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\src\test\addrman_tests.cpp" />
<ClCompile Include="..\..\src\test\allocator_tests.cpp" />
<ClCompile Include="..\..\src\test\amount_tests.cpp" />
<ClCompile Include="..\..\src\test\arith_uint256_tests.cpp" />
<ClCompile Include="..\..\src\test\base32_tests.cpp" />
<ClCompile Include="..\..\src\test\base58_tests.cpp" />
<ClCompile Include="..\..\src\test\base64_tests.cpp" />
<ClCompile Include="..\..\src\test\bech32_tests.cpp" />
<ClCompile Include="..\..\src\test\bip32_tests.cpp" />
<ClCompile Include="..\..\src\test\blockchain_tests.cpp" />
<ClCompile Include="..\..\src\test\blockencodings_tests.cpp" />
<ClCompile Include="..\..\src\test\bloom_tests.cpp" />
<ClCompile Include="..\..\src\test\bswap_tests.cpp" />
<ClCompile Include="..\..\src\test\checkqueue_tests.cpp" />
<ClCompile Include="..\..\src\test\coins_tests.cpp" />
<ClCompile Include="..\..\src\test\compress_tests.cpp" />
<ClCompile Include="..\..\src\test\crypto_tests.cpp" />
<ClCompile Include="..\..\src\test\cuckoocache_tests.cpp" />
<ClCompile Include="..\..\src\test\dbwrapper_tests.cpp" />
<ClCompile Include="..\..\src\test\denialofservice_tests.cpp" />
<ClCompile Include="..\..\src\test\getarg_tests.cpp" />
<ClCompile Include="..\..\src\test\hash_tests.cpp" />
<ClCompile Include="..\..\src\test\key_tests.cpp" />
<ClCompile Include="..\..\src\test\limitedmap_tests.cpp" />
<ClCompile Include="..\..\src\test\main_tests.cpp" />
<ClCompile Include="..\..\src\test\mempool_tests.cpp" />
<ClCompile Include="..\..\src\test\merkle_tests.cpp" />
<ClCompile Include="..\..\src\test\miner_tests.cpp" />
<ClCompile Include="..\..\src\test\multisig_tests.cpp" />
<ClCompile Include="..\..\src\test\netbase_tests.cpp" />
<ClCompile Include="..\..\src\test\net_tests.cpp" />
<ClCompile Include="..\..\src\test\pmt_tests.cpp" />
<ClCompile Include="..\..\src\test\policyestimator_tests.cpp" />
<ClCompile Include="..\..\src\test\pow_tests.cpp" />
<ClCompile Include="..\..\src\test\prevector_tests.cpp" />
<ClCompile Include="..\..\src\test\raii_event_tests.cpp" />
<ClCompile Include="..\..\src\test\random_tests.cpp" />
<ClCompile Include="..\..\src\test\reverselock_tests.cpp" />
<ClCompile Include="..\..\src\test\rpc_tests.cpp" />
<ClCompile Include="..\..\src\test\sanity_tests.cpp" />
<ClCompile Include="..\..\src\test\scheduler_tests.cpp" />
<ClCompile Include="..\..\src\test\scriptnum_tests.cpp" />
<ClCompile Include="..\..\src\test\script_p2sh_tests.cpp" />
<ClCompile Include="..\..\src\test\script_standard_tests.cpp" />
<ClCompile Include="..\..\src\test\script_tests.cpp" />
<ClCompile Include="..\..\src\test\serialize_tests.cpp" />
<ClCompile Include="..\..\src\test\sighash_tests.cpp" />
<ClCompile Include="..\..\src\test\sigopcount_tests.cpp" />
<ClCompile Include="..\..\src\test\skiplist_tests.cpp" />
<ClCompile Include="..\..\src\test\streams_tests.cpp" />
<ClCompile Include="..\..\src\test\*_tests.cpp" />
<ClCompile Include="..\..\src\wallet\test\*_tests.cpp" />
<ClCompile Include="..\..\src\test\test_bitcoin.cpp" />
<ClCompile Include="..\..\src\test\test_bitcoin_main.cpp" />
<ClCompile Include="..\..\src\test\timedata_tests.cpp" />
<ClCompile Include="..\..\src\test\torcontrol_tests.cpp" />
<ClCompile Include="..\..\src\test\transaction_tests.cpp" />
<ClCompile Include="..\..\src\test\txindex_tests.cpp" />
<ClCompile Include="..\..\src\test\txvalidationcache_tests.cpp" />
<ClCompile Include="..\..\src\test\uint256_tests.cpp" />
<ClCompile Include="..\..\src\test\util_tests.cpp" />
<ClCompile Include="..\..\src\test\validation_block_tests.cpp" />
<ClCompile Include="..\..\src\test\versionbits_tests.cpp" />
<ClCompile Include="..\..\src\wallet\test\accounting_tests.cpp" />
<ClCompile Include="..\..\src\wallet\test\coinselector_tests.cpp" />
<ClCompile Include="..\..\src\wallet\test\psbt_wallet_tests.cpp" />
<ClCompile Include="..\..\src\wallet\test\wallet_crypto_tests.cpp" />
<ClCompile Include="..\..\src\wallet\test\wallet_tests.cpp" />
<ClCompile Include="..\..\src\wallet\test\wallet_test_fixture.cpp" />
</ItemGroup>
<ItemGroup>
@ -266,4 +204,4 @@
</Target>
<Import Label="configTarget" Project="..\common.vcxproj" />
<Import Label="hexdumpTarget" Project="..\msbuild\tasks\hexdump.targets" />
</Project>
</Project>

View file

@ -75,9 +75,9 @@ public:
MSG_ERROR = (ICON_ERROR | BTN_OK | MODAL)
};
#define ADD_SIGNALS_DECL_WRAPPER(signal_name, rtype, args...) \
rtype signal_name(args); \
using signal_name##Sig = rtype(args); \
#define ADD_SIGNALS_DECL_WRAPPER(signal_name, rtype, ...) \
rtype signal_name(__VA_ARGS__); \
using signal_name##Sig = rtype(__VA_ARGS__); \
boost::signals2::connection signal_name##_connect(std::function<signal_name##Sig> fn); \
void signal_name##_disconnect(std::function<signal_name##Sig> fn);