Fix vulkan.pc Libs.private for static builds
authorCharles Giessen <charles@lunarg.com>
Wed, 26 Oct 2022 18:24:24 +0000 (12:24 -0600)
committerCharles Giessen <46324611+charles-lunarg@users.noreply.github.com>
Fri, 4 Nov 2022 23:07:38 +0000 (17:07 -0600)
commit8ff839bda370f2a46708f117b551ff0ea7954416
tree21788aa695d7640901f8b24309d21bbe47c8e126
parent256a5e3b6d6fc31e711f912291498becd6a41330
Fix vulkan.pc Libs.private for static builds

The Libs.private field shouldn't be present for shared library builds,
so now the field wont be present in that case. For static library builds
it should be present, but the fields should be deduplicated as well.

Additionally, this adds a github actions run for testing the static
build of the loader on MacOS. This requires making the test framework
capable of using a statically built loader, which mainly took making
VulkanFunctions capable of assigning the statically defined functions
instead of loading them with dlsym.

The static build option required changes to the unix_shim.cpp to not
cause infinite loops.
.github/workflows/build.yml
loader/CMakeLists.txt
loader/vulkan.pc.in
tests/framework/CMakeLists.txt
tests/framework/shim/unix_shim.cpp
tests/framework/test_environment.cpp
tests/framework/test_environment.h
tests/framework/test_util.cpp
tests/framework/test_util.h