[WIP] build: name install targets as components #31847

pull s373nZ wants to merge 1 commits into bitcoin:master from s373nZ:31745-install-components changing 1 files +30 −12
  1. s373nZ commented at 12:54 pm on February 12, 2025: none

    Adds component names to the CMake install targets to allow for component-based installs. Such installs are helpful when a user only wants to install bitcoind or bitcoin-cli executables specifically, for example.

    At present, the component names use Pascal case to follow the existing convention for the only pre-existing named component Kernel, however, there is a convincing case to be made for using kebab-case to more intuitively match the names of the executable binaries.

    Component based installs can be performed using:

    0cmake -B build
    1cmake --build build --target bitcoind bitcoin-cli
    2cmake --install build --component BitcoinD BitcoinCli
    

    Supported targets:

    • BitcoinWallet
    • BitcoinD
    • BitcoinNode
    • BitcoinCli
    • BitcoinTx
    • BitcoinUtil

    Attempts to close #31745.

    Possible improvements:

    • Scour other nested CMakeLists.txt files for additional targets.
    • Switch to kebab-case

    New contributor here; new to Bitcoin, new to CMake, happy to help, learn and receive feedback.

    Currently submitted as a draft to inspect build results as a PoC.

  2. DrahtBot commented at 12:54 pm on February 12, 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/31847.

    Reviews

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

  3. build: name install targets as components
    Allow for installing specific build targets by component name.
    5df5f6c018
  4. s373nZ force-pushed on Feb 12, 2025
  5. fanquake commented at 2:11 pm on February 12, 2025: member
    Thank, although there is already a PR open to do this in #31844.
  6. s373nZ commented at 3:14 pm on February 12, 2025: none
    Closing in favor of #31844.
  7. s373nZ closed this on Feb 12, 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-02-22 06:12 UTC

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