https://github.com/alandefreitas/fetchboostcontent
CMake FetchContent for Boost libraries
https://github.com/alandefreitas/fetchboostcontent
boost cmake dependencies fetchcontent libraries
Last synced: 7 months ago
JSON representation
CMake FetchContent for Boost libraries
- Host: GitHub
- URL: https://github.com/alandefreitas/fetchboostcontent
- Owner: alandefreitas
- License: bsl-1.0
- Created: 2022-05-28T00:39:04.000Z (over 3 years ago)
- Default Branch: develop
- Last Pushed: 2022-06-15T01:57:54.000Z (over 3 years ago)
- Last Synced: 2025-01-25T09:22:41.691Z (8 months ago)
- Topics: boost, cmake, dependencies, fetchcontent, libraries
- Language: CMake
- Homepage: https://alandefreitas.github.io/FetchBoostContent/
- Size: 1010 KB
- Stars: 13
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: docs/contributing.md
- License: LICENSE
Awesome Lists containing this project
README
# FetchBoostContent
> CMake FetchContent for Boost libraries
[](https://alandefreitas.github.io/FetchBoostContent/)
- CMake FetchContent enables build scripts to download and populate the current project with a dependency at configure time. This feature does not work with Boost (sub-)libraries because of transitive dependencies and the way their CMake script rely on the main Boost project.
- The Boost libraries are widely useful and useful to most applications. A version of FetchContent that works for Boost libraries allows developers to (i) provide a fallback option when a Boost installation is not found locally, (ii) download only the required Boost (sub-)libraries required for a single project, (iii) experiment with single Boost libraries, and (iv) and facilitate cross-compiling with CMake.
- A subset of these features can only be obtained nowadays via package managers, which represent a different level of CMake integration, and does not automatically extend these benefits to end users not using the same package manager. This is a problem for library developers relying on Boost, since most end users still don't rely on package managers.
- This repository provides a version of FetchContent that works for Boost (sub-)libraries. When a library is populated, only its internal Boost dependencies are scanned and fetched. The functions are adapted to return or include all dependencies in their appropriate order without fetching the whole Boost super-project.
[](https://github.com/alandefreitas/FetchBoostContent/actions?query=workflow%3ABuild+event%3Apush)
[](https://GitHub.com/alandefreitas/FetchBoostContent/releases/)
[](https://alandefreitas.github.io/FetchBoostContent/)
[](https://github.com/alandefreitas/FetchBoostContent/discussions)
[](https://www.facebook.com/sharer/sharer.php?t=FetchBoostContent&u=https://github.com/alandefreitas/FetchBoostContent/)
[](http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=https://github.com/alandefreitas/FetchBoostContent/&title=FetchBoostContent:%20FetchContent%20for%20Boost%20Libraries&summary=FetchBoostContent:%20FetchContent%20for%20Boost%20Libraries)
[](http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=https://github.com/alandefreitas/FetchBoostContent/&title=FetchBoostContent:%20FetchContent%20for%20Boost%20Libraries&summary=FetchBoostContent:%20FetchContent%20for%20Boost%20Libraries)
[](http://www.reddit.com/submit?url=https://github.com/alandefreitas/FetchBoostContent/&title=FetchBoostContent:%20FetchContent%20for%20Boost%20Libraries)
[](https://twitter.com/intent/tweet?text=FetchBoostContent:%20FetchContent%20for%20Boost%20Libraries&url=https://github.com/alandefreitas/FetchBoostContent/&hashtags=Task,Programming,Cpp,Async)
[](https://www.linkedin.com/shareArticle?mini=false&url=https://github.com/alandefreitas/FetchBoostContent/&title=FetchBoostContent:%20FetchContent%20for%20Boost%20Libraries)
[](https://api.whatsapp.com/send?text=FetchBoostContent:%20FetchContent%20for%20Boost%20Libraries:+https://github.com/alandefreitas/FetchBoostContent/)
[](https://lineit.line.me/share/ui?url=https://github.com/alandefreitas/FetchBoostContent/&text=FetchBoostContent:%20FetchContent%20for%20Boost%20Libraries)
[](https://telegram.me/share/url?url=https://github.com/alandefreitas/FetchBoostContent/&text=FetchBoostContent:%20FetchContent%20for%20Boost%20Libraries)
[](https://news.ycombinator.com/submitlink?u=https://github.com/alandefreitas/FetchBoostContent/&t=FetchBoostContent:%20FetchContent%20for%20Boost%20Libraries)
[READ THE DOCUMENTATION FOR A QUICK START AND EXAMPLES](https://alandefreitas.github.io/FetchBoostContent/)
[](https://alandefreitas.github.io/FetchBoostContent/)