cmake: Check dependencies after build option interaction #33974

pull hebasto wants to merge 1 commits into bitcoin:master from hebasto:251130-cmake-options changing 2 files +87 −73
  1. hebasto commented at 3:50 pm on November 30, 2025: member

    At present, CMakeLists.txt interleaves configuration-option handling with dependency discovery. As a result, unnecessary checks may be performed. For example:

     0$ cmake -B build --preset dev-mode -DBUILD_FOR_FUZZING=ON
     1<snip>
     2-- Found PkgConfig: /usr/bin/pkg-config (found version "2.3.0")
     3-- Found ZeroMQ: /usr/lib64 (found suitable version "4.3.5", minimum required is "4.0.0")
     4-- Performing Test HAVE_USDT_H
     5-- Performing Test HAVE_USDT_H - Success
     6-- Found USDT: /usr/include
     7-- Found QRencode: /usr/lib64/libqrencode.so (found version "4.1.1")
     8-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
     9-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
    10-- Found Threads: TRUE
    11-- Performing Test HAVE_STDATOMIC
    12-- Performing Test HAVE_STDATOMIC - Success
    13-- Found WrapAtomic: TRUE
    14-- Found OpenGL: /usr/lib64/libOpenGL.so
    15-- Found WrapOpenGL: TRUE
    16-- Found WrapVulkanHeaders: /usr/include
    17-- Found Qt: /usr/lib64/cmake/Qt6 (found suitable version "6.10.1", minimum required is "6.2")
    18CMake Warning at CMakeLists.txt:206 (message):
    19  BUILD_FOR_FUZZING=ON will disable all other targets and force
    20  BUILD_FUZZ_BINARY=ON.
    21
    22<snip>
    

    This PR restructures the code to ensure that all dependencies are checked only after the final build option interaction.

  2. hebasto added the label Build system on Nov 30, 2025
  3. DrahtBot commented at 3:51 pm on November 30, 2025: contributor

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/33974.

    Reviews

    See the guideline for information on the review process. A summary of reviews will appear here.

  4. DrahtBot added the label CI failed on Nov 30, 2025
  5. hebasto force-pushed on Nov 30, 2025
  6. DrahtBot removed the label CI failed on Nov 30, 2025
  7. DrahtBot added the label Needs rebase on Dec 1, 2025
  8. cmake: Check dependencies after build option interaction 56d0a0929d
  9. hebasto force-pushed on Dec 1, 2025
  10. DrahtBot removed the label Needs rebase on Dec 1, 2025

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-12-01 21:13 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me