Remove FetchContent from compiler#9001
Merged
alexreinking merged 14 commits intomainfrom Mar 11, 2026
Merged
Conversation
Member
Author
Member
Author
|
This is also going to require some CI restructuring. Not too much, but some. |
7b1c210 to
7959709
Compare
This reverts commit d5a6e33.
Member
Author
|
Skipping buildbots until GHA stabilizes |
Member
Author
|
The toolchain/triplet "abstraction" is tricky enough that I opened an issue with vcpkg: microsoft/vcpkg#50394 |
alexreinking
added a commit
to halide/build_bot
that referenced
this pull request
Mar 11, 2026
We have both Accelerate and Eigen, that's plenty.
Member
Author
Buildbot results
Also opened #9002 |
Member
Author
|
I'm merging despite the onnx failure since (a) it's intermittent and (b) I'm about to remove the last of the FetchContent from there in the next PR, so the underlying code is going to change, anyway. |
alexreinking
added a commit
to halide/build_bot
that referenced
this pull request
Mar 12, 2026
* Enable vcpkg everywhere * Use the presets present in the Halide repo See halide/Halide#9001 * HL_DISABLE_WINDOWS_ABORT_DIALOG no longer exists in main * Re-enable CUDA caches The problem disabling them was meant to solve happened with drivers that are now six years old. If we need to re-disable the cache, we can take the opportunity to investigate more. * Consolidate env dict creation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

FetchContent is an absolute nightmare of a dependency management feature. The fact that it brings third-party CMake code into your build without any kind of isolation has been a long source of headaches. Over the years, I've had to nearly rewrite wabt's build system, contribute patches to CMake, hack around missing features, write extra detection modules, and complicate our packaging rules just to skip a simple installation step (e.g.
brew install wabt flatbuffers).For the purposes of CI, we replace our usage of FetchContent with vcpkg; however, we are careful not to write the build in such a way that it is aware of vcpkg. The clang-tidy workflows continue to use Homebrew dependencies; this way we can notice if we get out of sync with the ecosystem.
Supersedes an outdated attempt in #8952