]> granicus.if.org Git - libmatroska/commitdiff
keep the path for pkg-config path if they are absolute pkg-config-absolute
authorSteve Lhomme <slhomme@matroska.org>
Sun, 15 May 2022 06:52:16 +0000 (08:52 +0200)
committerSteve Lhomme <slhomme@matroska.org>
Sun, 15 May 2022 11:58:14 +0000 (13:58 +0200)
Fixes #62

CMakeLists.txt

index e2d4f7df2767a5c1cc1593c2414f0d3df1e6053d..07892c3c40943aa0ca5b91acd8dfd89de48c4fb3 100644 (file)
@@ -104,8 +104,34 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/matroska_export.h DESTINATION ${CMAKE_
 if(NOT DISABLE_PKGCONFIG)
   set(prefix ${CMAKE_INSTALL_PREFIX})
   set(exec_prefix "\$\{prefix\}")
-  set(libdir "\$\{prefix\}/${CMAKE_INSTALL_LIBDIR}")
-  set(includedir "\$\{prefix\}/${CMAKE_INSTALL_INCLUDEDIR}")
+  if(${CMAKE_VERSION} VERSION_LESS "3.20.0")
+    get_filename_component(absdir ${CMAKE_INSTALL_LIBDIR} ABSOLUTE)
+    if (absdir STREQUAL CMAKE_INSTALL_LIBDIR)
+      set(abs_libdir ON)
+    else()
+      set(abs_libdir OFF)
+    endif()
+    get_filename_component(absdir ${CMAKE_INSTALL_INCLUDEDIR} ABSOLUTE)
+    if (absdir STREQUAL CMAKE_INSTALL_INCLUDEDIR)
+      set(abs_incdir ON)
+    else()
+      set(abs_incdir OFF)
+    endif()
+  else()
+    cmake_path(IS_ABSOLUTE CMAKE_INSTALL_LIBDIR abs_libdir)
+    cmake_path(IS_ABSOLUTE CMAKE_INSTALL_INCLUDEDIR abs_incdir)
+  endif()
+  if (${abs_libdir})
+    set(libdir "${CMAKE_INSTALL_LIBDIR}")
+  else()
+    message(STATUS "using relative \$\{prefix\}/${CMAKE_INSTALL_LIBDIR}")
+    set(libdir "\$\{prefix\}/${CMAKE_INSTALL_LIBDIR}")
+  endif()
+  if (${abs_incdir})
+    set(includedir "${CMAKE_INSTALL_INCLUDEDIR}")
+  else()
+    set(includedir "\$\{prefix\}/${CMAKE_INSTALL_INCLUDEDIR}")
+  endif()
   set(PACKAGE_VERSION ${PROJECT_VERSION})
   configure_file(libmatroska.pc.in libmatroska.pc @ONLY)
   install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libmatroska.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)