-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
For several years, we've been maintaining two build systems for Halide (Make and CMake); for a while now, CMake has been the canonical system for building installs, etc., and at least one important feature (Python bindings) aren't support under Make at all anymore. As our build rules have gotten more complex (for things like python-pip, linux installs, etc) it becomes more and more impractical to try to keep Make up to date; this means that when changes inevitably cause a bug in something Make-specific, it often takes an unreasonable amount of time for someone (usually: me) to clean up the issues.
Really, we should just bite the bullet here and do what LLVM did years ago, and commit to CMake as our only build system. As long as we have Make support, someone's gonna be using it; as long as someone is relying on being able to use it, something will break; when something breaks; someone will have to fix it. It's a waste of personpower that our team can't really afford to spend, IMHO.
I'd like to invite anyone who has a stake in using/maintaining the Makefile builds to comment here, but the end goal of this issue is to draw a line in the sand and say "Makefiles will be removed from the main Halide branch as of $DATE or $VERSION; CMake will be the only supported build system after that point."