-
Notifications
You must be signed in to change notification settings - Fork 63
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
Clean up handling of Legion config options #670
base: branch-24.03
Are you sure you want to change the base?
Conversation
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.
LGTM. Installation works and checks correctly catch errors.
if(NOT Legion_USE_Python) | ||
message(FATAL_ERROR "Legion was not compiled with Legion_USE_Python") | ||
endif() |
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.
This makes it impossible to build the legate C++ library without Legion built w/ Python bindings. Is this really what we want?
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.
This change is my attempt at avoiding the following fell-bad scenario:
- user builds Legion separately, forgets to add python support
- user builds legate.core C++ bits using
cmake
directly - users does
pip install
- user realizes nothing is working, because they built Legion w/o Python support (and the build process never complained)
I would also be ok with a situation where the cmake build doesn't enforce Legion_USE_Python
, and instead that becomes necessary only when you try to install the python pieces of legate.core. Do you think that's possible/preferable? Or maybe you have a different approach to avoid this scenario?
pip install
, the Legion build that cmake did will automatically be compatible with the python layer. We could just change the default to be ON everywhere, but I don't see a reason why we need to support Legion builds w/o python and bindings, but maybe folks have a different opinion.install.py
, and leave a note to put those in the cmake configuration. As is we run the risk that developers will only updateinstall.py
and forget to update the cmake-only defaults.