cmake: Fix vulkan.pc regressions
authorJuan Ramos <juan@lunarg.com>
Sat, 7 Oct 2023 19:45:18 +0000 (13:45 -0600)
committerJuan Ramos <114601453+juan-lunarg@users.noreply.github.com>
Mon, 9 Oct 2023 16:08:33 +0000 (10:08 -0600)
closes #1318, #1319

loader/CMakeLists.txt
loader/vulkan.pc.in

index 4cb11472f0245c643d0ebd802c5edb213ed9f103..c6366eef522c040dbb6c9ec0311cfd0c64fde5da 100644 (file)
@@ -448,10 +448,14 @@ if (PKG_CONFIG_FOUND)
 
     # BUG: The following code will NOT work well with `cmake --install ... --prefix <dir>`
     # due to this code relying on CMAKE_INSTALL_PREFIX being defined at configure time.
+    #
+    # NOTE: vulkan.pc essentially cover both Vulkan-Loader and Vulkan-Headers for legacy reasons.
     if ("${CMAKE_INSTALL_PREFIX}" STREQUAL "")
         set(CMAKE_INSTALL_LIBDIR_PC ${CMAKE_INSTALL_FULL_LIBDIR})
+        set(CMAKE_INSTALL_INCLUDEDIR_PC ${CMAKE_INSTALL_FULL_INCLUDEDIR})
     else()
         file(RELATIVE_PATH CMAKE_INSTALL_LIBDIR_PC ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_FULL_LIBDIR})
+        file(RELATIVE_PATH CMAKE_INSTALL_INCLUDEDIR_PC ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_FULL_INCLUDEDIR})
     endif()
     configure_file("vulkan.pc.in" "vulkan.pc" @ONLY)
     install(FILES "${CMAKE_CURRENT_BINARY_DIR}/vulkan.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
index 16b0ded7993d0549b459006aa75e69776ba35420..6a285f267c85f290af1184e40b2b43ea4a90eb61 100644 (file)
@@ -1,4 +1,10 @@
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=${prefix}
+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR_PC@
+includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR_PC@
+
 Name: Vulkan-Loader
 Description: Vulkan Loader
 Version: @VULKAN_LOADER_VERSION@
-Libs: -L@CMAKE_INSTALL_LIBDIR_PC@ -lvulkan@VULKAN_LIB_SUFFIX@
+Libs: -L${libdir} -lvulkan@VULKAN_LIB_SUFFIX@
+Cflags: -I${includedir}