cmake: Fix multi-config generator builds - #12818
Conversation
update_deps.py only ever built a single CMake config, so switching Debug/Release/RelWithDebInfo in an IDE (Visual Studio, Xcode, Ninja Multi-Config) without reconfiguring failed, since only one config's dependency binaries ever existed. Prebuild Debug and Release for multi-config generators, mapping RelWithDebInfo/MinSizeRel onto the Release binaries. See the comments in scripts/CMakeLists.txt and scripts/update_deps.py for how the shared install prefix and config mapping work. Fixes KhronosGroup#7891
|
CI Vulkan-ValidationLayers build queued with queue ID 67566. |
|
CI Vulkan-ValidationLayers build # 24062 running. |
charles-lunarg
left a comment
There was a problem hiding this comment.
This looks really good - comments where I would want them, nothing surprising where they aren't.
|
CI Vulkan-ValidationLayers build # 24062 failed. |
|
Looks like internal CI is failing but I can't tell why. |
|
CI Vulkan-ValidationLayers build queued with queue ID 67708. |
|
CI Vulkan-ValidationLayers build # 24063 running. |
d392f23 to
55791de
Compare
|
CI Vulkan-ValidationLayers build queued with queue ID 67721. |
|
CI Vulkan-ValidationLayers build # 24064 running. |
|
CI Vulkan-ValidationLayers build # 24064 failed. |
55791de to
af92f76
Compare
|
CI Vulkan-ValidationLayers build # 24062 failed. |
|
I understand why Jenkins CI is failing. Drop the separate update_deps.py + cmake -C external\helper.cmake step from the Windows Jenkins pipeline, and just run cmake -S. -B build ... directly (same as GitHub Actions does) — the in-tree UPDATE_DEPS=ON flow already builds and wires up all dependencies on its own. I don't have access to the Jenkins CI. So I can't make this change for yall. |
update_deps.py only ever built a single CMake config, so switching Debug/Release/RelWithDebInfo in an IDE (Visual Studio, Xcode, Ninja Multi-Config) without reconfiguring failed, since only one config's dependency binaries ever existed.
Prebuild Debug and Release for multi-config generators, mapping RelWithDebInfo/MinSizeRel onto the Release binaries. See the comments in scripts/CMakeLists.txt and scripts/update_deps.py for how the shared install prefix and config mapping work.
Fixes #7891