-
Notifications
You must be signed in to change notification settings - Fork 104
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
Enable multiple build output directories #575
Conversation
Thanks Sebastian - I'm quite busy this week, but I should be able to find some time next week to review this. |
Carlos @brocolis, this should address the issues with relinking the executables upon changes of the link entry in the package manifest now as well. |
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.
Thanks Sebastian - this is a big improvement, nicely implemented.
I know Jakub had to implement something similar for his work - presumably we'll need to merge this into that?
Co-authored-by: Laurence Kedward <[email protected]>
Exactly, it is based on Jakub's design in #498. I think we can rebase the branch after this change is merged, which should take care of most of the current merge conflicts present. |
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.
I have tried it out and it seems to work as expected. Thank you, Sebastian.
Please don't merge yet, I still have to look into collecting all module files from the output directory for fpm install. |
Will try to finish it this week. Only thing missing is a function that can return the path to all module files from the projects. This should be possible by iterating over the targets and combine the provided module file basenames with the output directory and than copy the complete list in the install command. |
This patch implements the possibility to have multiple build output directories depending on the compile flags of the respective target. This will currently only be realized for C objects, since they do not use the compile arguments of any profile.
output_directory
from model and replace it withbuild_prefix
the build prefix is generated from the toolchain (Fortran compiler currently)To discuss (possibly for a follow-up patch):
should executable target include the (all) link arguments in the build hash?Which arguments, only the libsor also the objects?should the archive include the object files in the build hash?To do:
fix installation of module filesCloses #422