-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FEA] Add initial CMakeLists.txt
#198
Conversation
Exciting! A couple of points to keep in mind, as you make changes to the build system: Legion has a cmake workflow, that you possibly want to plug in. Note, however, that the Legion make and cmake workflows are not necessarily at parity. Legate has only been using the make workflow, so we may have added some features to that workflow that don't exit in the cmake one. Please make sure that builds can be made incrementally, and dependencies will carry over all the way from Legion to legate.core to cunumeric. For example:
Apologies if this all sounds obvious, but it wasn't trivial to get all of this working properly with make, and supporting multiple compilers with different supported Note that Legion, Realm and legate.core record some of their configuration choices in a header file ( |
…_USE_GASNet=ON and -DGASNet_CONDUIT=mpi
CMakeLists.txt
CMakeLists.txt
* Add required realm/legion preincludes * Make compile definitions part of the public legate_core interface
…ARCH and BUILD_MCPU logic
@@ -17,6 +23,7 @@ dependencies: | |||
- pyarrow>=5 | |||
- scipy | |||
- typing_extensions | |||
- llvm-openmp |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not sure if it's worth documenting where this requirement comes from inline in the file with a comment
clean up flow of CUDA enable logic with Legion
edit: Closing in favor of #323
This PR adds a CMakeLists.txt file for configuring and building with CMake:
The
CMakeLists.txt
uses CPM andrapids-cmake
to find dependencies already installed on the system, or download+build them from source. CPM will ensure dependencies (such aslegion
) are built as part of buildinglegate.core
.With a properly configured dependency tree, CMake's
find_package
can also use a dependency's build directory as a package root:Opening as a draft PR while I implement and test all the functionality presently in
install.py
.Depends on https://gitlab.com/StanfordLegion/legion/-/merge_requests/502edit: 502 has been merged