Windows + CMake + vsgExamples: ShaderCompile related Vulkan libraries are set with the incorrect postfix; is there a fix/workaround? #1447
Replies: 2 comments
-
Use vcpkg. |
Beta Was this translation helpful? Give feedback.
-
The files that you've manually put into place to replace the ones that LunarG left out of the Vulkan SDK don't exactly match the binaries that LunarG provided. No one in the linked issue discussion suggested downloading files from somewhere else and hoping they work. The point of the files that are missing is to describe the binaries they've provided, so there's no reason to expect that they'd match if you got them from somewhere else. The solution I'd recommend is just building glslang yourself instead of relying on the build in the Vulkan SDK. It's simple if you follow their instructions, and creates CMake config files that work perfectly. If there's a problem, it's usually simple to get a fix merged into glslang in a few days. This is basically what vcpkg would be doing for you. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello everyone!
Long story short, I'm able to generate a Visual Studio solution using CMake with
which required at least a hack of downloading and manually copying some missing CMake files from the SDK (about SPIRV).
Now the issue I'm facing is that the libraries set to the examples are having the wrong postfix, and this only happens when I generate the solution with
VSG_SUPPORTS_ShaderCompiler
== 1. For instance, in Debug I get these libraries added to the projects:And in Release I get this list:
So we see that the vsg project has its libraries correctly added (using the expected "d" for debug and 'nothing' for release), but the same rules are ignored when adding glslang and SPIRV related libraries.
I tried to hack the CMake script and set something like
in
VulkanSceneGraph/src/CMakeLists.txt
or directly in the SDK ([SDK]/Lib/cmake/glslang/glslang-targets.cmake
) but the result is the same. It seems my CMake-fu is not strong enough here.The error is "known" and "easily fixable by hand", but this prevents automating our setup procedure and would cause confusion down the line.
Has anyone figured of a work around to be able to have the generated solution built "out of the box"?
Thanks!
Edit to add:
I'm not even sure it is an issue with the VSG; it may also be an issue with the Vulkan SDK files.
-Alexandre Vaillancourt
Beta Was this translation helpful? Give feedback.
All reactions