-
Notifications
You must be signed in to change notification settings - Fork 27
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
cmake: Overhaul downstream config to properly export version and dependencies #230
base: main
Are you sure you want to change the base?
Conversation
7dd5f8f
to
886d57f
Compare
After the discussion at todays meeting it looks like k4FWCore handles all the things also for older podio versions, so we can keep the compatibility for now. |
f09f222
to
eb6a2b7
Compare
eb6a2b7
to
f8b9dc6
Compare
cmake/k4FWCoreCreateConfig.cmake
Outdated
include(CMakePackageConfigHelpers) | ||
|
||
configure_package_config_file(${PROJECT_SOURCE_DIR}/cmake/k4FWCoreConfig.cmake.in | ||
${PROJECT_BINARY_DIR}/k4FWCoreConfig.cmake | ||
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/k4FWCore | ||
PATH_VARS CMAKE_INSTALL_INCLUDEDIR CMAKE_INSTALL_LIBDIR) |
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 would put these in the main CMakeLists.txt
, it's only a few more lines.
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 will become a few more once we start to also export version information properly. Since we have a usable tag already, should I add that 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.
Yeah, why not
CMakeLists.txt
Outdated
|
||
gaudi_install(CMAKE ${PROJECT_BINARY_DIR}/k4FWCoreConfig.cmake) |
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.
gaudi_install(CMAKE ${PROJECT_BINARY_DIR}/k4FWCoreConfig.cmake) | |
install(FILES ${PROJECT_BINARY_DIR}/k4FWCoreConfig.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/k4FWCore) |
It's a single cmake file, gaudi_install
doesn't do anything special for us and this is clearer (and we can check that the paths here and given to configure_package_config_file
match).
- Make sure all required dependencies are also detected in downstream users - Add some legacy variables
Move all downstream related config to one file
f8b9dc6
to
cff6168
Compare
BEGINRELEASENOTES
k4FWCoreConfig.cmake
to put a bit more information in thereENDRELEASENOTES
There are a few things that we could also address while we are here
1.0
pre-release cycle, maybe we should start to do so (and then also propagate that information to downstream consumers)MetadataSvc
(Add a metadata service and a test #215 and Fix accessing input file metadata in MetadataSvc #223), I think we need at least podio 1.0 in any case.Fixes #166