Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: bitcoin/bitcoin
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: hebasto/bitcoin
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 240506-cmake-EW
Choose a head ref
Can’t automatically merge. Don’t worry, you can still create the pull request.

Commits on Jun 4, 2024

  1. Copy the full SHA
    08e08a7 View commit details
  2. cmake: Introduce core interface libraries to encapsulate common flags

    Also add a sanity check for non-encapsulated (directory-wide) build
    properties.
    hebasto committed Jun 4, 2024
    Copy the full SHA
    fb4908e View commit details
  3. Copy the full SHA
    1433ff4 View commit details
  4. cmake: Check system headers

    hebasto committed Jun 4, 2024
    Copy the full SHA
    2158673 View commit details
  5. cmake: Check system symbols

    Co-authored-by: Cory Fields <cory-nospam-@coryfields.com>
    Co-authored-by: Vasil Dimov <vd@FreeBSD.org>
    3 people committed Jun 4, 2024
    Copy the full SHA
    2afbf28 View commit details
  6. Copy the full SHA
    874d812 View commit details
  7. Copy the full SHA
    a0d66f1 View commit details
  8. Copy the full SHA
    8c56ec7 View commit details
  9. Copy the full SHA
    402e35c View commit details
  10. cmake: Build leveldb static library

    Co-authored-by: Cory Fields <cory-nospam-@coryfields.com>
    hebasto and theuni committed Jun 4, 2024
    Copy the full SHA
    7182bf4 View commit details
  11. Copy the full SHA
    912c96e View commit details
  12. Copy the full SHA
    a550815 View commit details
  13. Copy the full SHA
    6cc1d2d View commit details
  14. Copy the full SHA
    5b27271 View commit details
  15. Copy the full SHA
    f95ced3 View commit details
  16. Copy the full SHA
    235950f View commit details
  17. Copy the full SHA
    3c4d878 View commit details
  18. Copy the full SHA
    5e37f11 View commit details
  19. Copy the full SHA
    2d820b4 View commit details
  20. depends: Amend handling flags environment variables

    If any of {C,CXX,CPP,LD}FLAGS is specified it should be assigned to
    a non-type-specific variable.
    hebasto committed Jun 4, 2024
    Copy the full SHA
    74e6bbe View commit details
  21. Copy the full SHA
    61c69f5 View commit details
  22. cmake: Add cross-compiling support

    To configure CMake for cross-compiling, use
    `--toolchain depends/${HOST}/toolchain.cmake` command-line option.
    hebasto committed Jun 4, 2024
    Copy the full SHA
    b7ed165 View commit details
  23. Copy the full SHA
    2956ca4 View commit details
  24. cmake: Add ccache support

    hebasto committed Jun 4, 2024
    Copy the full SHA
    a111659 View commit details
  25. Copy the full SHA
    8b1b629 View commit details
  26. Copy the full SHA
    0cac5dc View commit details
  27. Copy the full SHA
    7bbbd06 View commit details
  28. Copy the full SHA
    7ebccae View commit details
  29. Copy the full SHA
    6155192 View commit details
  30. Copy the full SHA
    54d5667 View commit details
  31. Copy the full SHA
    68e68fd View commit details
  32. Copy the full SHA
    c26deba View commit details
  33. Copy the full SHA
    756ccfc View commit details
  34. Copy the full SHA
    4e8db00 View commit details
  35. Copy the full SHA
    ec22b45 View commit details
  36. Copy the full SHA
    26df8b8 View commit details
  37. Copy the full SHA
    9d1c537 View commit details
  38. cmake: Include CTest

    hebasto committed Jun 4, 2024
    Copy the full SHA
    83b3490 View commit details
  39. Copy the full SHA
    83cca06 View commit details
  40. Copy the full SHA
    1651a68 View commit details
  41. Copy the full SHA
    af44e12 View commit details
  42. Copy the full SHA
    aa13fa9 View commit details
  43. Copy the full SHA
    e728baa View commit details
  44. Copy the full SHA
    90a0a17 View commit details
  45. cmake: Add HARDENING option

    hebasto committed Jun 4, 2024
    Copy the full SHA
    a66dc7f View commit details
  46. Copy the full SHA
    604b13b View commit details
  47. cmake: Add WERROR option

    hebasto committed Jun 4, 2024
    Copy the full SHA
    97e1624 View commit details
  48. Copy the full SHA
    95e7cc5 View commit details
  49. Copy the full SHA
    376019a View commit details
  50. Revert "build, qt: Do not install *.prl files"

    This reverts commit 1155978.
    hebasto committed Jun 4, 2024
    Copy the full SHA
    8b60bd0 View commit details
Showing with 6,420 additions and 2,419 deletions.
  1. +47 −103 .github/workflows/ci.yml
  2. +658 −0 .github/workflows/cmake.yml
  3. +688 −0 CMakeLists.txt
  4. +86 −0 CMakePresets.json
  5. +0 −1 build-aux/m4/bitcoin_qt.m4
  6. +0 −30 build_msvc/.gitignore
  7. +0 −92 build_msvc/README.md
  8. +0 −68 build_msvc/bench_bitcoin/bench_bitcoin.vcxproj.in
  9. +0 −34 build_msvc/bitcoin-cli/bitcoin-cli.vcxproj
  10. +0 −84 build_msvc/bitcoin-qt/bitcoin-qt.vcxproj
  11. +0 −37 build_msvc/bitcoin-tx/bitcoin-tx.vcxproj
  12. +0 −37 build_msvc/bitcoin-util/bitcoin-util.vcxproj
  13. +0 −46 build_msvc/bitcoin-wallet/bitcoin-wallet.vcxproj
  14. +0 −168 build_msvc/bitcoin.sln
  15. +0 −89 build_msvc/bitcoin_config.h.in
  16. +0 −92 build_msvc/bitcoind/bitcoind.vcxproj
  17. +0 −103 build_msvc/common.init.vcxproj.in
  18. +0 −22 build_msvc/common.qt.init.vcxproj
  19. +0 −12 build_msvc/common.vcxproj
  20. +0 −85 build_msvc/fuzz/fuzz.vcxproj
  21. +0 −16 build_msvc/libbitcoin_cli/libbitcoin_cli.vcxproj.in
  22. +0 −16 build_msvc/libbitcoin_common/libbitcoin_common.vcxproj.in
  23. +0 −27 build_msvc/libbitcoin_consensus/libbitcoin_consensus.vcxproj
  24. +0 −16 build_msvc/libbitcoin_crypto/libbitcoin_crypto.vcxproj.in
  25. +0 −19 build_msvc/libbitcoin_node/libbitcoin_node.vcxproj.in
  26. +0 −224 build_msvc/libbitcoin_qt/libbitcoin_qt.vcxproj
  27. +0 −16 build_msvc/libbitcoin_util/libbitcoin_util.vcxproj.in
  28. +0 −19 build_msvc/libbitcoin_wallet/libbitcoin_wallet.vcxproj.in
  29. +0 −16 build_msvc/libbitcoin_wallet_tool/libbitcoin_wallet_tool.vcxproj.in
  30. +0 −16 build_msvc/libbitcoin_zmq/libbitcoin_zmq.vcxproj.in
  31. +0 −61 build_msvc/libleveldb/libleveldb.vcxproj
  32. +0 −38 build_msvc/libminisketch/libminisketch.vcxproj
  33. +0 −26 build_msvc/libsecp256k1/libsecp256k1.vcxproj
  34. +0 −17 build_msvc/libtest_util/libtest_util.vcxproj.in
  35. +0 −19 build_msvc/libunivalue/libunivalue.vcxproj
  36. +0 −53 build_msvc/msbuild/tasks/hexdump.targets
  37. +0 −35 build_msvc/msbuild/tasks/replaceinfile.targets
  38. +0 −116 build_msvc/msvc-autogen.py
  39. +0 −124 build_msvc/test_bitcoin-qt/test_bitcoin-qt.vcxproj
  40. +0 −77 build_msvc/test_bitcoin/test_bitcoin.vcxproj
  41. +0 −21 build_msvc/vcpkg.json
  42. +0 −2 ci/test/00_setup_env.sh
  43. +1 −1 ci/test/00_setup_env_arm.sh
  44. +1 −1 ci/test/00_setup_env_i686_centos.sh
  45. +2 −2 ci/test/00_setup_env_i686_multiprocess.sh
  46. +1 −1 ci/test/00_setup_env_mac_cross.sh
  47. +1 −1 ci/test/00_setup_env_mac_native.sh
  48. +6 −5 ci/test/00_setup_env_native_asan.sh
  49. +4 −2 ci/test/00_setup_env_native_fuzz.sh
  50. +2 −1 ci/test/00_setup_env_native_fuzz_with_msan.sh
  51. +1 −1 ci/test/00_setup_env_native_fuzz_with_valgrind.sh
  52. +1 −1 ci/test/00_setup_env_native_msan.sh
  53. +1 −1 ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh
  54. +3 −2 ci/test/00_setup_env_native_previous_releases.sh
  55. +4 −2 ci/test/00_setup_env_native_tidy.sh
  56. +2 −1 ci/test/00_setup_env_native_tsan.sh
  57. +1 −1 ci/test/00_setup_env_native_valgrind.sh
  58. +1 −1 ci/test/00_setup_env_s390x.sh
  59. +2 −1 ci/test/00_setup_env_win64.sh
  60. +17 −31 ci/test/03_test_script.sh
  61. +1 −1 ci/test/wrap-wine.sh
  62. +134 −0 cmake/bitcoin-config.h.in
  63. +5 −0 cmake/cov_tool_wrapper.sh.in
  64. +121 −0 cmake/crc32c.cmake
  65. +183 −0 cmake/introspection.cmake
  66. +105 −0 cmake/leveldb.cmake
  67. +91 −0 cmake/minisketch.cmake
  68. +79 −0 cmake/module/AddBoostIfNeeded.cmake
  69. +21 −0 cmake/module/AddThreadsIfNeeded.cmake
  70. +14 −0 cmake/module/AddWindowsResources.cmake
  71. +39 −0 cmake/module/CheckSourceCompilesAndLinks.cmake
  72. +133 −0 cmake/module/FindBerkeleyDB.cmake
  73. +82 −0 cmake/module/FindLibevent.cmake
  74. +84 −0 cmake/module/FindMiniUPnPc.cmake
  75. +32 −0 cmake/module/FindNATPMP.cmake
  76. +66 −0 cmake/module/FindQt5.cmake
  77. +64 −0 cmake/module/FindUSDT.cmake
  78. +21 −0 cmake/module/GenerateHeaders.cmake
  79. +18 −0 cmake/module/GenerateSetupNsi.cmake
  80. +28 −0 cmake/module/GetTargetInterface.cmake
  81. +155 −0 cmake/module/Maintenance.cmake
  82. +166 −0 cmake/module/ProcessConfigurations.cmake
  83. +90 −0 cmake/module/TestAppendRequiredLibraries.cmake
  84. +21 −0 cmake/module/TristateOption.cmake
  85. +133 −0 cmake/module/TryAppendCXXFlags.cmake
  86. +85 −0 cmake/module/TryAppendLinkerFlag.cmake
  87. +36 −0 cmake/module/WarnAboutGlobalProperties.cmake
  88. +51 −0 cmake/optional.cmake
  89. +77 −0 cmake/script/Coverage.cmake
  90. +42 −0 cmake/script/CoverageFuzz.cmake
  91. +56 −0 cmake/script/CoverageInclude.cmake.in
  92. +115 −0 cmake/script/GenerateBuildInfo.cmake
  93. +24 −0 cmake/script/GenerateHeaderFromJson.cmake
  94. +22 −0 cmake/script/GenerateHeaderFromRaw.cmake
  95. +12 −0 cmake/script/macos_zip.sh
  96. +62 −0 cmake/secp256k1.cmake
  97. +85 −0 cmake/tests.cmake
  98. +18 −29 contrib/guix/libexec/build.sh
  99. +49 −1 depends/Makefile
  100. +11 −11 depends/README.md
  101. +2 −2 depends/funcs.mk
  102. +4 −1 depends/hosts/darwin.mk
  103. +2 −2 depends/hosts/default.mk
  104. +1 −1 depends/hosts/freebsd.mk
  105. +4 −1 depends/hosts/linux.mk
  106. +3 −1 depends/hosts/mingw32.mk
  107. +1 −1 depends/hosts/netbsd.mk
  108. +1 −1 depends/hosts/openbsd.mk
  109. +2 −0 depends/packages/libevent.mk
  110. +2 −2 depends/packages/native_libmultiprocess.mk
  111. +4 −3 depends/packages/qt.mk
  112. +2 −0 depends/packages/zeromq.mk
  113. +24 −0 depends/patches/libevent/fix_mingw_link.patch
  114. +0 −4 depends/patches/qt/qt.pro
  115. +24 −0 depends/patches/zeromq/fix_mingw_link.patch
  116. +195 −0 depends/toolchain.cmake.in
  117. +25 −0 doc/CMakeLists.txt
  118. +1 −1 doc/Doxyfile.in
  119. +1 −1 doc/README.md
  120. +15 −20 doc/build-freebsd.md
  121. +8 −15 doc/build-netbsd.md
  122. +18 −26 doc/build-openbsd.md
  123. +15 −19 doc/build-osx.md
  124. +24 −30 doc/build-unix.md
  125. +1 −1 doc/{build-windows.md → build-windows-mingw.md}
  126. +82 −0 doc/build-windows-msvc.md
  127. +19 −10 doc/developer-notes.md
  128. +53 −34 doc/fuzzing.md
  129. +4 −4 doc/release-process.md
  130. +391 −0 src/CMakeLists.txt
  131. +77 −0 src/bench/CMakeLists.txt
  132. +127 −0 src/crypto/CMakeLists.txt
  133. +0 −2 src/crypto/sha256.cpp
  134. +0 −2 src/httpserver.cpp
  135. +18 −0 src/ipc/CMakeLists.txt
  136. +113 −0 src/kernel/CMakeLists.txt
  137. +238 −0 src/qt/CMakeLists.txt
  138. +1 −1 src/qt/README.md
  139. +0 −15 src/qt/bitcoin.cpp
  140. +1 −8 src/qt/guiutil.cpp
  141. +0 −2 src/qt/notificator.cpp
  142. +0 −2 src/qt/notificator.h
  143. +0 −2 src/qt/qrimagewidget.cpp
  144. +0 −2 src/qt/receiverequestdialog.cpp
  145. +46 −0 src/qt/test/CMakeLists.txt
  146. +0 −16 src/qt/test/test_main.cpp
  147. +2 −0 src/randomenv.cpp
  148. +182 −0 src/test/CMakeLists.txt
  149. +7 −0 src/test/compilerbug_tests.cpp
  150. +138 −0 src/test/fuzz/CMakeLists.txt
  151. +31 −0 src/test/fuzz/util/CMakeLists.txt
  152. +29 −0 src/test/util/CMakeLists.txt
  153. +35 −0 src/univalue/CMakeLists.txt
  154. +1 −1 src/univalue/test/object.cpp
  155. +52 −0 src/util/CMakeLists.txt
  156. +0 −2 src/util/trace.h
  157. +59 −0 src/wallet/CMakeLists.txt
  158. +32 −0 src/wallet/test/CMakeLists.txt
  159. +15 −0 src/wallet/test/fuzz/CMakeLists.txt
  160. +24 −0 src/zmq/CMakeLists.txt
  161. +49 −0 test/CMakeLists.txt
  162. +3 −9 test/lint/test_runner/src/main.rs
  163. +51 −0 vcpkg.json
150 changes: 47 additions & 103 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -134,17 +134,17 @@ jobs:

env:
CCACHE_MAXSIZE: '200M'
CI_CCACHE_VERSION: '4.7.5'
CI_QT_CONF: '-release -silent -opensource -confirm-license -opengl desktop -static -static-runtime -mp -qt-zlib -qt-pcre -qt-libpng -nomake examples -nomake tests -nomake tools -no-angle -no-dbus -no-gif -no-gtk -no-ico -no-icu -no-libjpeg -no-libudev -no-sql-sqlite -no-sql-odbc -no-sqlite -no-vulkan -skip qt3d -skip qtactiveqt -skip qtandroidextras -skip qtcharts -skip qtconnectivity -skip qtdatavis3d -skip qtdeclarative -skip doc -skip qtdoc -skip qtgamepad -skip qtgraphicaleffects -skip qtimageformats -skip qtlocation -skip qtlottie -skip qtmacextras -skip qtmultimedia -skip qtnetworkauth -skip qtpurchasing -skip qtquick3d -skip qtquickcontrols -skip qtquickcontrols2 -skip qtquicktimeline -skip qtremoteobjects -skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtspeech -skip qtsvg -skip qtvirtualkeyboard -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebglplugin -skip qtwebsockets -skip qtwebview -skip qtx11extras -skip qtxmlpatterns -no-openssl -no-feature-bearermanagement -no-feature-printdialog -no-feature-printer -no-feature-printpreviewdialog -no-feature-printpreviewwidget -no-feature-sql -no-feature-sqlmodel -no-feature-textbrowser -no-feature-textmarkdownwriter -no-feature-textodfwriter -no-feature-xml'
CI_QT_DIR: 'qt-everywhere-src-5.15.11'
CI_QT_URL: 'https://download.qt.io/official_releases/qt/5.15/5.15.11/single/qt-everywhere-opensource-src-5.15.11.zip'
PYTHONUTF8: 1
TEST_RUNNER_TIMEOUT_FACTOR: 40

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Remove non-MSVC tool installations
run: |
Remove-Item -Path "$env:ProgramFiles/CMake" -Recurse -Force
- name: Configure Developer Command Prompt for Microsoft Visual C++
# Using microsoft/setup-msbuild is not enough.
uses: ilammy/msvc-dev-cmd@v1
@@ -153,122 +153,67 @@ jobs:

- name: Get tool information
run: |
cmake --version | Out-File -FilePath "cmake_version"
Get-Content -Path "cmake_version"
Write-Output "---"
msbuild -version | Out-File -FilePath "$env:GITHUB_WORKSPACE\msbuild_version"
Get-Content -Path "$env:GITHUB_WORKSPACE\msbuild_version"
$env:VCToolsVersion | Out-File -FilePath "$env:GITHUB_WORKSPACE\toolset_version"
Write-Host "VCToolsVersion $(Get-Content -Path "$env:GITHUB_WORKSPACE\toolset_version")"
$env:CI_QT_URL | Out-File -FilePath "$env:GITHUB_WORKSPACE\qt_url"
$env:CI_QT_CONF | Out-File -FilePath "$env:GITHUB_WORKSPACE\qt_conf"
py -3 --version
Write-Host "PowerShell version $($PSVersionTable.PSVersion.ToString())"
- name: Restore static Qt cache
id: static-qt-cache
uses: actions/cache/restore@v4
with:
path: C:\Qt_static
key: ${{ github.job }}-static-qt-${{ hashFiles('msbuild_version', 'qt_url', 'qt_conf') }}

- name: Build static Qt. Download
if: steps.static-qt-cache.outputs.cache-hit != 'true'
shell: cmd
run: |
curl --location --output C:\qt-src.zip %CI_QT_URL%
choco install --yes --no-progress jom
- name: Build static Qt. Expand source archive
if: steps.static-qt-cache.outputs.cache-hit != 'true'
shell: cmd
run: tar -xf C:\qt-src.zip -C C:\

- name: Build static Qt. Create build directory
if: steps.static-qt-cache.outputs.cache-hit != 'true'
run: |
Rename-Item -Path "C:\$env:CI_QT_DIR" -NewName "C:\qt-src"
New-Item -ItemType Directory -Path "C:\qt-src\build"
- name: Build static Qt. Configure
if: steps.static-qt-cache.outputs.cache-hit != 'true'
working-directory: C:\qt-src\build
shell: cmd
run: ..\configure %CI_QT_CONF% -prefix C:\Qt_static

- name: Build static Qt. Build
if: steps.static-qt-cache.outputs.cache-hit != 'true'
working-directory: C:\qt-src\build
shell: cmd
run: jom

- name: Build static Qt. Install
if: steps.static-qt-cache.outputs.cache-hit != 'true'
working-directory: C:\qt-src\build
shell: cmd
run: jom install

- name: Save static Qt cache
if: steps.static-qt-cache.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
path: C:\Qt_static
key: ${{ github.job }}-static-qt-${{ hashFiles('msbuild_version', 'qt_url', 'qt_conf') }}

- name: Ccache installation cache
id: ccache-installation-cache
uses: actions/cache@v4
with:
path: |
C:\ProgramData\chocolatey\lib\ccache
C:\ProgramData\chocolatey\bin\ccache.exe
C:\ccache\cl.exe
key: ${{ github.job }}-ccache-installation-${{ env.CI_CCACHE_VERSION }}

- name: Install Ccache
if: steps.ccache-installation-cache.outputs.cache-hit != 'true'
run: |
choco install --yes --no-progress ccache --version=$env:CI_CCACHE_VERSION
New-Item -ItemType Directory -Path "C:\ccache"
Copy-Item -Path "$env:ChocolateyInstall\lib\ccache\tools\ccache-$env:CI_CCACHE_VERSION-windows-x86_64\ccache.exe" -Destination "C:\ccache\cl.exe"
- name: Restore Ccache cache
id: ccache-cache
uses: actions/cache/restore@v4
with:
path: ~/AppData/Local/ccache
key: ${{ github.job }}-ccache-${{ github.run_id }}
restore-keys: ${{ github.job }}-ccache-
choco install --yes --no-progress ccache
- name: Using vcpkg with MSBuild
run: |
Set-Location "$env:VCPKG_INSTALLATION_ROOT"
Add-Content -Path "triplets\x64-windows-static.cmake" -Value "set(VCPKG_BUILD_TYPE release)"
Add-Content -Path "triplets\x64-windows-static.cmake" -Value "set(VCPKG_PLATFORM_TOOLSET_VERSION $env:VCToolsVersion)"
.\vcpkg.exe --vcpkg-root "$env:VCPKG_INSTALLATION_ROOT" integrate install
git rev-parse HEAD | Out-File -FilePath "$env:GITHUB_WORKSPACE\vcpkg_commit"
Get-Content -Path "$env:GITHUB_WORKSPACE\vcpkg_commit"
Add-Content -Path "triplets\x64-windows.cmake" -Value "set(VCPKG_BUILD_TYPE release)"
Add-Content -Path "triplets\x64-windows.cmake" -Value "set(VCPKG_PLATFORM_TOOLSET_VERSION $env:VCToolsVersion)"
- name: vcpkg tools cache
uses: actions/cache@v4
with:
path: C:/vcpkg/downloads/tools
key: ${{ github.job }}-vcpkg-tools

- name: vcpkg binary cache
uses: actions/cache@v4
- name: Restore vcpkg binary cache
uses: actions/cache/restore@v4
id: vcpkg-binary-cache
with:
path: ~/AppData/Local/vcpkg/archives
key: ${{ github.job }}-vcpkg-binary-${{ hashFiles('vcpkg_commit', 'msbuild_version', 'toolset_version', 'build_msvc/vcpkg.json') }}
key: ${{ github.job }}-vcpkg-binary-${{ hashFiles('cmake_version', 'msbuild_version', 'toolset_version', 'vcpkg.json') }}

- name: Generate build system
run: |
cmake -B build --preset vs2022 -DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_INSTALLATION_ROOT\scripts\buildsystems\vcpkg.cmake" -DBUILD_BENCH=ON -DBUILD_FUZZ_BINARY=ON -DWERROR=ON
- name: Generate project files
run: py -3 build_msvc\msvc-autogen.py
- name: Save vcpkg binary cache
uses: actions/cache/save@v4
if: github.event_name != 'pull_request' && steps.vcpkg-binary-cache.outputs.cache-hit != 'true'
with:
path: ~/AppData/Local/vcpkg/archives
key: ${{ github.job }}-vcpkg-binary-${{ hashFiles('cmake_version', 'msbuild_version', 'toolset_version', 'vcpkg.json') }}

- name: Restore Ccache cache
id: ccache-cache
uses: actions/cache/restore@v4
with:
path: ~/AppData/Local/ccache
key: ${{ github.job }}-ccache-

- name: Build
shell: cmd
working-directory: build
run: |
ccache --zero-stats
msbuild build_msvc\bitcoin.sln -property:CLToolPath=C:\ccache;CLToolExe=cl.exe;UseMultiToolTask=true;Configuration=Release -maxCpuCount -verbosity:minimal -noLogo
cmake --build . -j $env:NUMBER_OF_PROCESSORS --config Release
- name: Ccache stats
run: ccache --show-stats
run: |
ccache --version | head -n 1
ccache --show-stats --verbose
- name: Save Ccache cache
uses: actions/cache/save@v4
@@ -278,20 +223,18 @@ jobs:
# https://github.com/actions/cache/blob/main/tips-and-workarounds.md#update-a-cache
key: ${{ github.job }}-ccache-${{ github.run_id }}

- name: Run unit tests
run: src\test_bitcoin.exe -l test_suite

- name: Run benchmarks
run: src\bench_bitcoin.exe -sanity-check

- name: Run util tests
run: py -3 test\util\test_runner.py

- name: Run rpcauth test
run: py -3 test\util\rpcauth-test.py
- name: Run test suite
working-directory: build
run: |
ctest -j $env:NUMBER_OF_PROCESSORS -C Release
- name: Run functional tests
working-directory: build
env:
BITCOIND: '${{ github.workspace }}\build\src\Release\bitcoind.exe'
BITCOINCLI: '${{ github.workspace }}\build\src\Release\bitcoin-cli.exe'
BITCOINUTIL: '${{ github.workspace }}\build\src\Release\bitcoin-util.exe'
BITCOINWALLET: '${{ github.workspace }}\build\src\Release\bitcoin-wallet.exe'
TEST_RUNNER_EXTRA: ${{ github.event_name != 'pull_request' && '--extended' || '' }}
shell: cmd
run: py -3 test\functional\test_runner.py --jobs %NUMBER_OF_PROCESSORS% --ci --quiet --tmpdirprefix=%RUNNER_TEMP% --combinedlogslen=99999999 --timeout-factor=%TEST_RUNNER_TIMEOUT_FACTOR% %TEST_RUNNER_EXTRA%
@@ -304,7 +247,8 @@ jobs:
git log -1
- name: Run fuzz binaries
working-directory: build
env:
BITCOINFUZZ: "${{ github.workspace}}\\src\\fuzz.exe"
BITCOINFUZZ: '${{ github.workspace }}\build\src\test\fuzz\Release\fuzz.exe'
shell: cmd
run: py -3 test\fuzz\test_runner.py --par %NUMBER_OF_PROCESSORS% --loglevel DEBUG %RUNNER_TEMP%\qa-assets\fuzz_seed_corpus
658 changes: 658 additions & 0 deletions .github/workflows/cmake.yml

Large diffs are not rendered by default.

688 changes: 688 additions & 0 deletions CMakeLists.txt

Large diffs are not rendered by default.

86 changes: 86 additions & 0 deletions CMakePresets.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
{
"version": 3,
"cmakeMinimumRequired": {"major": 3, "minor": 21, "patch": 0},
"configurePresets": [
{
"name": "ci-common",
"hidden": true,
"cacheVariables": {
"BUILD_BENCH": "ON",
"BUILD_FUZZ_BINARY": "ON",
"ENABLE_WALLET": "ON",
"WITH_SQLITE": "ON",
"WITH_BDB": "ON",
"WITH_NATPMP": "ON",
"WITH_MINIUPNPC": "ON",
"WITH_ZMQ": "ON",
"WERROR": "ON",
"WITH_CCACHE": "ON"
}
},
{
"name": "ci-linux",
"inherits": "ci-common",
"displayName": "Build for CI tests on Linux",
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Linux"
},
"cacheVariables": {
"ENABLE_EXTERNAL_SIGNER": "ON",
"WITH_USDT": "ON"
}
},
{
"name": "ci-darwin",
"inherits": "ci-common",
"displayName": "Build for CI tests on macOS",
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Darwin"
},
"cacheVariables": {
"BUILD_GUI": "ON",
"ENABLE_EXTERNAL_SIGNER": "ON"
}
},
{
"name": "vs2022",
"displayName": "Build using 'Visual Studio 17 2022' generator and 'x64-windows' triplet",
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
},
"generator": "Visual Studio 17 2022",
"architecture": "x64",
"toolchainFile": "$env{VCPKG_ROOT}\\scripts\\buildsystems\\vcpkg.cmake",
"cacheVariables": {
"VCPKG_TARGET_TRIPLET": "x64-windows",
"BUILD_GUI": "ON",
"WITH_QRENCODE": "OFF",
"WITH_NATPMP": "OFF"
}
},
{
"name": "vs2022-static",
"displayName": "Build using 'Visual Studio 17 2022' generator and 'x64-windows-static' triplet",
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
},
"generator": "Visual Studio 17 2022",
"architecture": "x64",
"toolchainFile": "$env{VCPKG_ROOT}\\scripts\\buildsystems\\vcpkg.cmake",
"cacheVariables": {
"VCPKG_TARGET_TRIPLET": "x64-windows-static",
"BUILD_GUI": "ON",
"WITH_QRENCODE": "OFF",
"WITH_NATPMP": "OFF"
}
}
]
}
1 change: 0 additions & 1 deletion build-aux/m4/bitcoin_qt.m4
Original file line number Diff line number Diff line change
@@ -123,7 +123,6 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
fi
fi
AC_DEFINE([QT_STATICPLUGIN], [1], [Define this symbol if qt plugins are static])
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QMinimalIntegrationPlugin], [-lqminimal])
AC_DEFINE([QT_QPA_PLATFORM_MINIMAL], [1], [Define this symbol if the minimal qt platform exists])
if test "$TARGET_OS" = "windows"; then
30 changes: 0 additions & 30 deletions build_msvc/.gitignore

This file was deleted.

92 changes: 0 additions & 92 deletions build_msvc/README.md

This file was deleted.

68 changes: 0 additions & 68 deletions build_msvc/bench_bitcoin/bench_bitcoin.vcxproj.in

This file was deleted.

34 changes: 0 additions & 34 deletions build_msvc/bitcoin-cli/bitcoin-cli.vcxproj

This file was deleted.

84 changes: 0 additions & 84 deletions build_msvc/bitcoin-qt/bitcoin-qt.vcxproj

This file was deleted.

37 changes: 0 additions & 37 deletions build_msvc/bitcoin-tx/bitcoin-tx.vcxproj

This file was deleted.

37 changes: 0 additions & 37 deletions build_msvc/bitcoin-util/bitcoin-util.vcxproj

This file was deleted.

46 changes: 0 additions & 46 deletions build_msvc/bitcoin-wallet/bitcoin-wallet.vcxproj

This file was deleted.

168 changes: 0 additions & 168 deletions build_msvc/bitcoin.sln

This file was deleted.

89 changes: 0 additions & 89 deletions build_msvc/bitcoin_config.h.in

This file was deleted.

92 changes: 0 additions & 92 deletions build_msvc/bitcoind/bitcoind.vcxproj

This file was deleted.

103 changes: 0 additions & 103 deletions build_msvc/common.init.vcxproj.in

This file was deleted.

22 changes: 0 additions & 22 deletions build_msvc/common.qt.init.vcxproj

This file was deleted.

12 changes: 0 additions & 12 deletions build_msvc/common.vcxproj

This file was deleted.

85 changes: 0 additions & 85 deletions build_msvc/fuzz/fuzz.vcxproj

This file was deleted.

16 changes: 0 additions & 16 deletions build_msvc/libbitcoin_cli/libbitcoin_cli.vcxproj.in

This file was deleted.

16 changes: 0 additions & 16 deletions build_msvc/libbitcoin_common/libbitcoin_common.vcxproj.in

This file was deleted.

27 changes: 0 additions & 27 deletions build_msvc/libbitcoin_consensus/libbitcoin_consensus.vcxproj

This file was deleted.

16 changes: 0 additions & 16 deletions build_msvc/libbitcoin_crypto/libbitcoin_crypto.vcxproj.in

This file was deleted.

19 changes: 0 additions & 19 deletions build_msvc/libbitcoin_node/libbitcoin_node.vcxproj.in

This file was deleted.

224 changes: 0 additions & 224 deletions build_msvc/libbitcoin_qt/libbitcoin_qt.vcxproj

This file was deleted.

16 changes: 0 additions & 16 deletions build_msvc/libbitcoin_util/libbitcoin_util.vcxproj.in

This file was deleted.

19 changes: 0 additions & 19 deletions build_msvc/libbitcoin_wallet/libbitcoin_wallet.vcxproj.in

This file was deleted.

This file was deleted.

16 changes: 0 additions & 16 deletions build_msvc/libbitcoin_zmq/libbitcoin_zmq.vcxproj.in

This file was deleted.

61 changes: 0 additions & 61 deletions build_msvc/libleveldb/libleveldb.vcxproj

This file was deleted.

38 changes: 0 additions & 38 deletions build_msvc/libminisketch/libminisketch.vcxproj

This file was deleted.

26 changes: 0 additions & 26 deletions build_msvc/libsecp256k1/libsecp256k1.vcxproj

This file was deleted.

17 changes: 0 additions & 17 deletions build_msvc/libtest_util/libtest_util.vcxproj.in

This file was deleted.

19 changes: 0 additions & 19 deletions build_msvc/libunivalue/libunivalue.vcxproj

This file was deleted.

53 changes: 0 additions & 53 deletions build_msvc/msbuild/tasks/hexdump.targets

This file was deleted.

35 changes: 0 additions & 35 deletions build_msvc/msbuild/tasks/replaceinfile.targets

This file was deleted.

116 changes: 0 additions & 116 deletions build_msvc/msvc-autogen.py

This file was deleted.

Loading