-
Notifications
You must be signed in to change notification settings - Fork 570
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
Trilinos: Best Practice for Deprecating Cmake options #12455
Comments
CC: @csiefer2, @ccober6, @sebrowne, @trilinos/framework I am not sure how this should be done for Trilinos but I call tell you how we handle deprecated cache variables in TriBITS. We created the tribits_deprecated() function that used like this:
Then, the user (or developer) can control how to handle the usage of a deprecated variables by setting the cache var:
For the values of I actually spent a bit of time discussing this with Kyle Edwards from Kitware in issue: which we implemented over a year ago. But that is for deprecating TriBITS code, not necessarily for project-specific Trilinos CMake code. Likely the best thing is likely to copy and paste the the file TribitsDeprecatedHelpers.cmake into Trilinos and rename it to
Or each package could have its own deprecation function that keys off of a global value (but that seems like overkill)? |
I'm OK with a Trilinos-wide cmake option deprecated macro, like proposed above. @ccober6 Opinion? |
I'm in favor of this approach. Maybe add a |
👍
That is reasonable. You would just have
So you would have two new CMake functions: Sound good to everyone? |
This issue has had no activity for 365 days and is marked for closure. It will be closed after an additional 30 days of inactivity. |
While Trilinos packages have a standard way of deprecating code, we don't have a standard way of deprecating cmake configuration options. The Tpetra driver for this is
Tpetra_ASSUME_CUDA_AWARE_MPI
, which we replaced withTpetra_ASSUME_GPU_AWARE_MPI
a while ago, but left the old option in so it wouldn't break the applications. We'd like to remove the old guy entirely, but need a way to warn apps to change how they configure Trilinos before we break their scripts.@bartlettroscoe has suggested a potential way to do this, which he'll share below.
The text was updated successfully, but these errors were encountered: