-
Notifications
You must be signed in to change notification settings - Fork 45
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
Extend support for <Package>_CXX_FLAGS to subpackages #442
Comments
@bartlettroscoe Thank you for looking into this. Honestly, there is no connection/dependency between Somehow, option 2 feels a bit more intuitive to me, but for |
@searhein, that was my opinion as well but I wanted to get an unbiased second opinion. I will given that a try. |
@searhein, then FROSch likely should have been its own top-level package. Generally, subpackages should be aggregated into a parent package only if they are related in some obvious way. |
@bartlettroscoe Thank you! I agree on that. At the point when I integrated FROSch, the idea was to gather all the DD work in ShyLU_DD. However, I agree that it would also make much sense to have FROSch as a top-level package; for instance in this case, this would make things easier. Maybe, this is something to reconsider? |
Well, that is a relationship then (even if it is not a software relationship).
That is something you should discuss with Siva and the other Trilinos leads at some point. I think there is some desire to actually reduce the number of top-level Trilinos packages. But no decision on that should be made, in my opinion, until we complete #367 and some related follow-ons. Breaking Trilinos into different repos (with multiple packages per repo) might make more sense. But it is not my place to speculate too much on this. |
@bartlettroscoe I fully agree. Being able to specify the flags for FROSch individually would already help me a lot. Thanks! |
As part of this I also: * Refactored the code some to be more maintainable NOTE: The tests I added are very strong but may not be 100% portable. The should only run with Linux, wtih Makefiles and with GCC and therefore should be okay. We only need to test this logic with one CMake generator and with compiler.
As part of this I also: * Refactored the code some to be more maintainable * Added documentation for subpackages-specific compiler flags * Added a new doc subsetion to explain how to print out compiler options for each package * Moved the doc subsection for adding arbitrary link options after all of the subsections about manipulating compiler flags/options
…#442) Add support for subpackage-specific compiler flags (#440 Also see, trilinos/Trilinos#10111
As part of this I also: * Refactored the code some to be more maintainable * Added documentation for subpackages-specific compiler flags * Added a new doc subsetion to explain how to print out compiler options for each package * Moved the doc subsection for adding arbitrary link options after all of the subsections about manipulating compiler flags/options
This is done in TriBITS 'master' as of PR #453 that I just merged. Can you please review the updated documentation described at the top of PR #453 and make comments there? I will next do the git gymnastics to cherry-pick and then snapshot back just this one commit to a branch off Trilinos 'develop'. (I can't snapshot all of TriBITS to Trilinos due to #433). |
FYI: The Trilinos PR that brings just this PR back to the version in Trilinos 'develop' is trilinos/Trilinos#10219. |
This has been done for a long time with the merge of PRs #453 and trilinos/Trilinos#10219. Closing as complete. |
Currently, as described in:
one can set:
to append compiler flags at the package level. But there is currently no support for compiler options targeting the subpackage level. This was requested in trilinos/Trilinos#10111 for setting
ShyLU_DDFROSch_CXX_FLAGS
for theShyLU_DDFROSch
subpackages in theShyLU_DD
package.Possible implementations
This could be implemented in one of two options.
Option-1: One approach would be for
<SubPackage>_<LANG>_FLAGS
to replace<ParentPackage>_<LANG>_FLAGS
flags such that setting:would result in the flags
<flags-2>
only being appended to theCMAKE_CXX_FLAGS
and for<flags-1>
to be ignored for theShyLU_DDFROSch
subpackage while<flags-1>
would be appended for the other subpackages in the parent packageShyLU_DD
.option-2: The other approach would be for the
<SubPackage>_<LANG>_FLAGS
to append those in<ParentPackage>_<LANG>_FLAGS
so that:resulted in the flags
<flags-1> <flags-2>
being appended to the subpackageShyLU_DDFROSch
CMAKE_CXX_FLAGS
while<flags-1>
while<flags-1>
would be appended for the other subpackages in the parent packageShyLU_DD
.The text was updated successfully, but these errors were encountered: