From cb6c6ac1f03d5749989e810a0087ca64021064c9 Mon Sep 17 00:00:00 2001
From: Douglas Scofield <douglasgscofield@gmail.com>
Date: Fri, 22 Nov 2024 17:17:07 +0100
Subject: [PATCH] create pkgconfig file during build

---
 CMakeLists.txt | 9 +++++++++
 cereal.pc.in   | 8 ++++++++
 2 files changed, 17 insertions(+)
 create mode 100644 cereal.pc.in

--- libcereal-dev.orig/CMakeLists.txt
+++ libcereal-dev/CMakeLists.txt
@@ -52,6 +52,11 @@
     if(NOT DEFINED CMAKE_CXX_STANDARD OR CMAKE_CXX_STANDARD STREQUAL "98")
         set(CMAKE_CXX_STANDARD 11)
     endif()
+    configure_file(
+        ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc.in
+        ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc
+        @ONLY
+    )
 
     set(CMAKE_CXX_STANDARD_REQUIRED ON)
 endif()
@@ -98,6 +103,10 @@
         NAMESPACE "cereal::"
         DESTINATION ${configInstallDestination}
     )
+    install(
+        FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc
+        DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig
+    )
 endif()
 
 
--- /dev/null
+++ libcereal-dev/cereal.pc.in
@@ -0,0 +1,8 @@
+prefix=@CMAKE_INSTALL_PREFIX@
+includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
+
+Name: @PROJECT_NAME@
+Description: cereal is a header-only C++11 serialization library
+URL: https://uscilab.github.io/cereal/
+Version: @PROJECT_VERSION@
+Cflags: -I"${includedir}"
