-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Description
I hope this isn't a big ask.
Some build systems place the source of projects in a read-only environment to make certain guarantees about the build process for caching purposes. Bazel is one example of this - it allows building CMake projects (and the rules_foreign_cc project that enables this even uses this OpenBLAS repository as an example).
This kind of approach usually works, because it's rather rare for a CMake project to make in-source writes. Most instead produce their intermediate steps in the build directory.
You may notice the above project passes BUILD_WITHOUT_LAPACK
- possibly because LAPACK isn't needed for Eigen, but mainly because trying to build LAPACK under bazel fails due to a use of configure_file
to modify a file in the include directory. This doesn't appear to be necessary, and other uses of configure_file
in this project that I can see seem to place the changes in the output directory and later use them from there.
It isn't this project's responsibility to support Bazel (though it'd be awesome if it did), and I don't know enough about the OpenBLAS build to know how difficult it would be to adjust this step to load the target file from a space in the build directory instead, but I'm just throwing it out there to see if it's something that might be possible.