-
Notifications
You must be signed in to change notification settings - Fork 235
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: C++20-Module installation and integration testing #538
base: main
Are you sure you want to change the base?
Conversation
M2-TE
commented
Apr 2, 2025
- Installing Vulkan-HppModule target with Vulkan::HppModule ALIAS
- FindPackage testing for module target
- Cleaned up minimal .cpp
- Properly utilized the existing Ninja variable in CMAKE_GENERATOR within CI
Co-authored-by: Charles Giessen <46324611+charles-lunarg@users.noreply.github.com>
It looks like cmake wants us to explicitly install the .cppm file as well, even though we already install it implicitly here Line 113 in 2ac8169
|
We likely need the |
Rely entirely on env variable for the choice of cmake generator Co-authored-by: jpr42 <109434725+jpr42@users.noreply.github.com>
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.
vulkan.cppm is being installed twice
vulkan.cppm is being installed twice... It's also questionable if it should be installed in the include/vulkan directory.
Furthermore a libVulkan-HppModule.a is now being created as well as various *.cmake files. What is the size of the static library? Could you size up these new artifacts on to github so we can look at them? |
The culprit is this line of code It's installing everything even vulkan.cppm which it arguably shouldn't be... although it might break people if it gets changed now. I'm not exactly certain with C++ modules so I can't speak with certainty. |
Yea that is what I was worried about once the normal headers are installed as file sets as well. But it is also how people get the .cppm file currently, so not putting it in the For clarification:
I cannot speak on the *.cmake files, but the behavior of creating and installing a static library is wrong.
I don't know if this can be precisely controlled, as, to CMake at least, the Out of the installed *.cmake files
we likely do not need the additional ones with the "." path specified and those probably come from the The things left to do are now, as far as I can tell:
|