cmake: fix pkgconfig file for absolute install paths
authorJan Palus <jpalus@fastmail.com>
Mon, 28 Nov 2022 12:29:21 +0000 (13:29 +0100)
committerCharles Giessen <46324611+charles-lunarg@users.noreply.github.com>
Mon, 28 Nov 2022 18:23:57 +0000 (12:23 -0600)
Fixes #1076

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

index 2eb704fdeec49100588c52c1a23d624f42ab2fe0..b24c037b4b69ac9d135a8e98550630f8c4f377a5 100644 (file)
@@ -409,6 +409,13 @@ if(PKG_CONFIG_FOUND)
     else()
         set(CMAKE_INSTALL_FULL_LIBDIR_PC ${CMAKE_INSTALL_FULL_LIBDIR})
     endif ()
+    if ("${CMAKE_INSTALL_PREFIX}" STREQUAL "")
+        set(CMAKE_INSTALL_REL_LIBDIR_PC ${CMAKE_INSTALL_FULL_LIBDIR_PC})
+        set(CMAKE_INSTALL_REL_INCLUDEDIR_PC ${CMAKE_INSTALL_FULL_INCLUDEDIR})
+    else()
+        file(RELATIVE_PATH CMAKE_INSTALL_REL_LIBDIR_PC ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_FULL_LIBDIR_PC})
+        file(RELATIVE_PATH CMAKE_INSTALL_REL_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")
 endif()
index 82e9f5edc9caf09e7c48e3dbf37e8dcb388ed3d4..1d38a22ef4fa90c08d905da4e6544d1b5e872112 100644 (file)
@@ -1,7 +1,7 @@
 prefix=@CMAKE_INSTALL_PREFIX@
 exec_prefix=${prefix}
-libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
+libdir=${exec_prefix}/@CMAKE_INSTALL_REL_LIBDIR_PC@
+includedir=${prefix}/@CMAKE_INSTALL_REL_INCLUDEDIR_PC@
 
 Name: @CMAKE_PROJECT_NAME@
 Description: Vulkan Loader