aboutsummaryrefslogtreecommitdiff
path: root/build_msvc
AgeCommit message (Collapse)Author
2019-12-12Update msvc build for Visual Studio 2019 v16.4Aaron Clauson
msvc warning C4834 for the Bitcoin Core build was introduced by Visual Studio 16.4.0. This PR adds an ignore rule for the warning (it's related to the nodiscard attribute and is not considered relevant). An additional side effect of the msvc compiler update is the prebuilt Qt5.9.8 libraries cannot be linked due to being built with an earlier version of the compiler. To fix this a new Qt5.9.8 version has been compiled and the appveyor job updated to use them. The GitHub Actions job needs to continue to use the original Qt5.9.8 libraries until the latest GitHub Windows image also updates to >= Visual Studio 2019 v16.4.
2019-11-25Appveyor install libevent[thread] vcpkgAaron Clauson
As per #17586 the default libevent vcpkg install now has thread disabled. This PR installs libevent with the thread feature enabled.
2019-11-23Added libtest_util library to msvc build configuration.Aaron Clauson
2019-11-18ci: remove OpenSSL installationfanquake
2019-11-18doc: remove OpenSSL from build instructions and licensing infofanquake
2019-11-10Moves vcpkg list to a text file and updates the appveyor job and readme to ↵Aaron Clauson
use it.
2019-11-07Remove redundant class file includes from test_bitcoin project.Aaron Clauson
2019-11-07Merge #17364: Updates to appveyor config for VS2019 and Qt5.9.8 + msvc ↵MarcoFalke
project fixes 3c84deebaa311155ccc7565d09525041eed9747c Updated appveyor config: - 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 #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. (Aaron Clauson) Pull request description: Updates to appveyor config: - 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 #17309. - Removed commands setting common project file options. Now done via common.init.vcxproj include. - Changed msbuild verbosity from normal to quiet. Normal writes a LOT of logs and impacts appveyor job duration. Updates to 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. In order for an existing appveyor job based on the new config to work the cache must be purged. The steps to do this are shown below. The specific appveyor project path will need to be adjusted. ```` export APPVEYOR_TOKEN="<your-api-token>" curl -H "Authorization: Bearer $APPVEYOR_TOKEN" -X DELETE https://ci.appveyor.com/api/projects/bitcoin/bitcoin-9ql6k/buildcache ```` ACKs for top commit: ryanofsky: Non-expert code review ACK 3c84deebaa311155ccc7565d09525041eed9747c. Tree-SHA512: 77063d4588c3499de78b0bcc4d8b638f36c70284485ae94ce5c718a3dacb6d28cc34f9443c54c4e98c07b446d26b59589259671c2f6bcc952344042b4a3baf8f
2019-11-06Updated appveyor config:Aaron Clauson
- 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 #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.
2019-11-06scripted-diff: test: Move setup_common to test libraryMarcoFalke
-BEGIN VERIFY SCRIPT- # Move files for f in $(git ls-files src/test/lib/); do git mv $f src/test/util/; done git mv src/test/setup_common.cpp src/test/util/ git mv src/test/setup_common.h src/test/util/ # Replace Windows paths sed -i -e 's|\\setup_common|\\util\\setup_common|g' $(git grep -l '\\setup_common') sed -i -e 's|src\\test\\lib\\|src\\test\\util\\|g' build_msvc/test_bitcoin/test_bitcoin.vcxproj # Everything else sed -i -e 's|/setup_common|/util/setup_common|g' $(git grep -l 'setup_common') sed -i -e 's|test/lib/|test/util/|g' $(git grep -l 'test/lib/') # Fix include guard sed -i -e 's|BITCOIN_TEST_SETUP_COMMON_H|BITCOIN_TEST_UTIL_SETUP_COMMON_H|g' ./src/test/util/setup_common.h sed -i -e 's|BITCOIN_TEST_LIB_|BITCOIN_TEST_UTIL_|g' $(git grep -l 'BITCOIN_TEST_LIB_') -END VERIFY SCRIPT-
2019-11-01doc: update MSVC instructions to remove Qt configurationfanquake
Also adds missing Boost packages. Installing only the currently listed packages was not sufficient to complete a build.
2019-10-24build: remove EVP_MD_CTX_new detectionfanquake
This was added in #9475 to fix LibreSSL compatibility for BIP70, so is no longer required.
2019-10-23refactor: test/bench: dedup Build{Crediting,Spending}Transaction()Sebastian Falbesoner
prototypes used in src/test/script_tests.cpp: - CMutableTransaction BuildCreditingTransaction(const CScript& scriptPubKey, int nValue = 0); - CMutableTransaction BuildSpendingTransaction(const CScript& scriptSig, const CScriptWitness& scriptWitness, const CTransaction& txCredit); prototypes used in bench/verify_script.cpp: - CMutableTransaction BuildCreditingTransaction(const CScript& scriptPubKey); - CMutableTransaction BuildSpendingTransaction(const CScript& scriptSig, const CMutableTransaction& txCredit); The more generic versions from the script tests are moved into a new file pair transaction_utils.cpp/h and the calls are adapted accordingly in the verify_script benchmark (passing the nValue of 1 explicitely for BuildCreditingTransaction(), passing empty scriptWitness explicitely and converting txCredit parameter to CTransaction in BuildSpendingTransaction()).
2019-10-02build: 0.19 release updates on masterJon Atack
as per doc/release-process.md. Note: On branch-off, these same changes should be made on the release branch, with also these additional changes to both files: - set `CLIENT_VERSION_REVISION` to `0` - set `CLIENT_VERSION_IS_RELEASE` to `true`
2019-09-08Added libbitcoin_qt and bitcoin-qt to the msbuild configuration.Aaron Clauson
2019-08-29Added the bench_bitcoin project to the list automatically produced by the ↵Aaron Clauson
msvc-autogen python script.
2019-08-28Adds an option to msbuild common configuration to ignore linker warning ↵Aaron Clauson
4221. This warning is for object files that do not include any symbols. The warning is harmless and occurs due to some classes that are *nix only having no source to compile for an msvc build.
2019-08-15qt: Remove menu iconsWladimir J. van der Laan
2019-07-29Updated python command in readme so it will work on systems that have both ↵Aaron Clauson
python2 and 3 installed.
2019-07-08Merge #16267: bench: Benchmark blockToJSONWladimir J. van der Laan
91509ffe247b0eacbf84214c7c9c3f8a0012f2eb bench: Benchmark blockToJSON (Kirill Fomichev) Pull request description: Related: - "getblock performance issue on verbosity" https://github.com/bitcoin/bitcoin/issues/15925 - "refactor: Avoid UniValue copy constructor" #15974 ACKs for top commit: laanwj: ACK 91509ffe247b0eacbf84214c7c9c3f8a0012f2eb Tree-SHA512: e70b12cb31921c7527bde334f52f39776da698b6bbdb196079a8b68478c67585a5bd7bed7403f65166bd604f7ed60778c53dc064d743bb8368318a1283d1073e
2019-07-05Merge #15457: Check std::system for -[alert|block|wallet]notifyWladimir J. van der Laan
f874e14cd3c84cd412bd3fb42b3ee1706ca6a267 [build]: check std::system for -[alert|block|wallet]notify (Sjors Provoost) cc3ad56ff2bc2583fe68c4a9e0b41072a47c0b07 [build] MSVC: set HAVE_SYSTEM for desktop apps (Sjors Provoost) c1c91bb78d7267f01ee3a3c156c218b46a92cd39 [build] detect std::system or ::wsystem (Sjors Provoost) Pull request description: Platforms such as iOs and Universal Windows Platform do not support launching a process through system(). ACKs for top commit: laanwj: code review ACK f874e14cd3c84cd412bd3fb42b3ee1706ca6a267 Tree-SHA512: 16bb4a8fa1896046ccb22a46c8985e1aa45f5b11ecf5539eb2299e9a58f1a5b085c0c12cb6939c7493d93abce7e84fadcbfc73374c887db63da6d00c08aa476d
2019-07-05bench: Benchmark blockToJSONKirill Fomichev
2019-07-05Merge #16308: [MSVC] Copy build output to src/ automatically after buildfanquake
08c721dab2b6d33f11ecf5ed089841d1fc9d8d15 [MSVC] Copy build output to src/ automatically after build (nicolas.dorier) Pull request description: I got frustrated many time that I run functional tests on an outdated binary. This make sure that files are properly copied (and debuggable) for functional tests after a build. This PR add a `common.vcxproj` which can be used to extend the build steps. I can't move it in `common.init`, because build step customization must always come at the end of a project file. ACKs for top commit: sipsorcery: tACK 08c721dab2b6d33f11ecf5ed089841d1fc9d8d15. fanquake: ACK 08c721dab2b6d33f11ecf5ed089841d1fc9d8d15 Tree-SHA512: 7c033552a7bbbd3bb51a72d13bf4254e3b779c59ec93629c85f17745a1b17a8c1d6c87bb5e50eb5f4e5486e767929c0126e555b185608fd666aa39729b5068e1
2019-07-03Merge #16299: bench: Move generated data to a dedicated translation unitMarcoFalke
3d60a03a7cfb2d46b5f10633e9f6a9a36b8cb76f bench: Move generated data to a dedicated translation unit (João Barbosa) Pull request description: With this change multiple benchmarks can use the same data without incurring in a bigger binary. ACKs for top commit: laanwj: code review ACK 3d60a03a7cfb2d46b5f10633e9f6a9a36b8cb76f Tree-SHA512: 8903bb09e4327c88e585a09bc7df1cbdfc18ebdc5d9c86bf3d6d9252a05eaf18b14ecd2bafdacd82f05a659e4b35ecd301c36011c97f7bf89302793165b00fdc
2019-07-02bench: Move generated data to a dedicated translation unitJoão Barbosa
2019-07-01[MSVC] Copy build output to src/ automatically after buildnicolas.dorier
2019-06-29[MSVC] allow user level project customizationnicolas.dorier
2019-06-28[MSVC] Enable Fuzz for functional testsnicolas.dorier
2019-06-21[MSVC]: Create the config.ini as part of bitcoind buildnicolas.dorier
2019-06-20MSVC: Fix error in debug mode (Fix #16245)nicolas.dorier
2019-06-19Merge #16241: docs: add rapidcheck to vcpkg install listMarcoFalke
4971be76a7 docs: add rapidcheck to vcpkg install list (fanquake) Pull request description: Setting up a fresh Windows 10 VM using [this guide](https://github.com/fanquake/core-review/blob/master/windows.md), installing `rapidcheck` and building using the changes in #16235 resulted in a working `bitcoind` and all tests passing. ACKs for commit 4971be: Tree-SHA512: d0cb2d1d6ac5cdecf77c21f9b05e8803266511dbd06cb644352a229d101c7bf63f8022822852877371cce83c414275a850eb9ab6876a61c2fd1061627b7223f7
2019-06-19docs: add rapidcheck to vcpkg install listfanquake
2019-06-19Cleaned up and consolidated msvc build files to allow faster builds and ↵Aaron Clauson
easier migration to vs2019.
2019-06-06[build] MSVC: set HAVE_SYSTEM for desktop appsSjors Provoost
2019-05-23build: bump bitcoin_config.h packages to v0.18Jon Atack
Follow-up to 48ed65b.
2019-04-27Align MSVC build options with Linux build onesHennadii Stepanov
2019-04-15bench: Add wallet_balance benchmarksMarcoFalke
2019-04-11scripted-diff: Rename test_bitcoin to test/setup_commonMarcoFalke
-BEGIN VERIFY SCRIPT- sed -i --regexp-extended -e 's/test_bitcoin\.(h|cpp)/setup_common.\1/g' $(git grep -l test_bitcoin) git mv ./src/test/test_bitcoin.h ./src/test/setup_common.h git mv ./src/test/test_bitcoin.cpp ./src/test/setup_common.cpp sed -i -e 's/BITCOIN_TEST_TEST_BITCOIN_H/BITCOIN_TEST_SETUP_COMMON_H/g' ./src/test/setup_common.h -END VERIFY SCRIPT-
2019-04-10test: Use test_bitcoin setup in bench, Add test utilsMarcoFalke
2019-04-09[build] Move wallet load functions to wallet/load unitJohn Newbery
Moves the following wallet load functions to a new wallet/load unit in the libbitcoin_wallet library. All other functions in wallet/init remain in libbitcoin_server: - `VerifyWallets` - `LoadWallets` - `StartWallets` - `FlushWallets` - `StopWallets` - `UnloadWallets`
2019-04-09[build] Move CheckTransaction from lib_server to lib_consensusJohn Newbery
CheckTransaction is a context-free function that does not require access to the blockchain or mempool. Move it from src/consensus/tx_verify in lib_server to a new unit src/consensus/tx_check in lib_consensus so that it can be called by non-server libraries.
2019-03-06Merge #15473: bench: Benchmark MempoolToJSONMarcoFalke
fa38535130 bench: Benchmark MempoolToJSON (MarcoFalke) fa5dc3534b rpc: Pass mempool into MempoolToJSON (MarcoFalke) Pull request description: This is used in production (e.g. https://jochen-hoenicke.de/queue/#0,24h), so add a benchmark to avoid making it even slower. Related: * "getrawmempool true RPC call is O(n^2)" #14765 Tree-SHA512: da09d2e54ee261af8671152f97f863cf1acd7a6adc6578e94046b1ec9e647a670c67499760ef765254f65522dfdf773c3c8729006fa2d63ccb6d53166bafc425
2019-02-28test: Remove useless test_bitcoin_main.cppMarcoFalke
2019-03-01msvc: Use a single file to specify the include pathChun Kuan Lee
2019-02-25bench: Benchmark MempoolToJSONMarcoFalke
2019-02-25Enable PID file creation on Windowsriordant
- Add available WIN PID function - Consider WIN32 in each relevant case - Add new preprocessor definitions to suppress warning - Update error message for generic OS Co-authored-by: Jörn Röder <kontakt@joernroeder.de>
2019-02-17scripted-diff: Remove NDEBUG pre-defineChun Kuan Lee
-BEGIN VERIFY SCRIPT- sed -i 's/NDEBUG;//g' $(git grep --name-only 'NDEBUG;' build_msvc) -END VERIFY SCRIPT-
2019-02-17Merge #15398: msvc: add rapidcheck property testsWladimir J. van der Laan
d067e81dcf574b6504813bbf742cd5af057e8e9b msvc: add rapid check property tests (Chun Kuan Lee) Pull request description: This PR add the property tests into the binaries built by MSVC. And another trivial change is that I reordered the appveyor package list. Tree-SHA512: 25d66db464beb7b512cc1f88d8557d6a047000a97d78f49884bb91a65ec142e0458039c919f51bf73413359fcf3e63e1ea4d76586b862f1c140d2ca05ee8b23d
2019-02-14msvc: Fix silent merge conflict between #13926 and #14372 part IIChun Kuan Lee
2019-02-05Merge #14922: windows: Set _WIN32_WINNT to 0x0601 (Windows 7)Wladimir J. van der Laan
0164b0f5cf80cd00a4914d9fea0bcb9508cb7607 build: Remove WINVER pre define in Makefile.leveldb.inlcude (Chun Kuan Lee) d0522ec94ebbaa564f5f6b31236d4df032664411 Drop defunct Windows compat fixes (Ben Woosley) d8a299206780b38959d732cbe40ba1dd25834f0e windows: Call SetProcessDEPPolicy directly (Chun Kuan Lee) 1bd9ffdd44000b208d29d35451f4dc9f1ac9318f windows: Set _WIN32_WINNT to 0x0601 (Windows 7) (Chun Kuan Lee) Pull request description: The current minimum support Windows version is Vista. So set it to 0x0600 https://github.com/mirror/mingw-w64/blob/5a88def8ad862ef8f4e5f2e69661bfb2d07f1ce2/mingw-w64-headers/include/sdkddkver.h#L19 Tree-SHA512: 38e2afc79426ae547131c8ad3db2e0a7f54a95512f341cfa0c06e4b2fe79521ae67d2795ef96b0192e683e4f1ba6183c010d7b4b8d6b3e68b9bf48c374c59e7d