-
Notifications
You must be signed in to change notification settings - Fork 157
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
Making fixed paths in dependency target optional #259
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.
Thanks for the suggestion @tdegeus.
I added a few comments on things that I think can be improved.
One thing, please don't reformat the whole file, it makes it hard to track, and we have in this project the convention of 2 spaces and using
command(PROPERTY val PROPX val2) # Fits small line
command(PROPERTY val1
PROPERTY val2)
or
command(MODE
PROPERTY
val1
val2
)
CMake/HighFiveConfig.cmake.in
Outdated
if(NOT DEFINED HIGHFIVE_PARALLEL_HDF5) | ||
option(HIGHFIVE_PARALLEL_HDF5 "Enable Parallel HDF5 support" @HIGHFIVE_PARALLEL_HDF5@) | ||
set(HIGHFIVE_PARALLEL_HDF5 @HIGHFIVE_PARALLEL_HDF5@) |
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.
why not providing target project with options? Users would appreciate I believe
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.
It is unclear to me how one can ever reach these options. Can you given and example CMakeLists.txt
where you reach them?
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.
In terms of the command-line options, yes is should be there, but only HighFive's CMakeLists.txt
. Which I think it is, but we should double check.
I will revert the indentation. Though since the entire project is four space, I think it should be four spaces also here. |
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.
@ferdonline Can you check/comment if things are to your likings now.
I just realised that the static target is inherently restricted to old CMake behaviour. In particular, the static target will only work for those libraries that do not provide modern CMake targets. Those that do, will always require to call The static dependencies should therefore be removed from
|
I have pushed a proposal for how I think the user can still provided with everything there was before, but the user is not automatically invited to keep using old features and warned that these features will disappear in the future. Curious to hear your feedback. |
Tom I appreciate your contribution here but, although you solution seeks to be more elegant, it ends up being more complex and introducing limitations. The limitations being that it doesnt seem to perfectly work with the older systems, and second when we default to not use the detected libs they wont be exported and so, even if the end application wants to change the default and actually use them, it's not possible anymore. |
@ferdonline With this things should be how you like them. |
Any news @ferdonline ? |
No description provided.