diff cmake/export/CMakeLists.txt @ 711:fc66cc9706a7

CMake: export pkg-config files, closes #874 @1h While here rename libcommon to libirccd-core to avoid collision when installed. For consistency, rename libirccdctl to libirccd-ctl.
author David Demelier <markand@malikania.fr>
date Sat, 07 Jul 2018 15:40:46 +0200
parents a17de53db29b
children 8c44bbcbbab9
line wrap: on
line diff
--- a/cmake/export/CMakeLists.txt	Sat Jul 07 14:03:04 2018 +0200
+++ b/cmake/export/CMakeLists.txt	Sat Jul 07 15:40:46 2018 +0200
@@ -18,6 +18,7 @@
 
 include(CMakePackageConfigHelpers)
 
+# CMake export files.
 write_basic_package_version_file(
     ${CMAKE_CURRENT_BINARY_DIR}/irccd-config-version.cmake
     VERSION ${IRCCD_VERSION}
@@ -38,3 +39,26 @@
     DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/irccd
     COMPONENT Devel
 )
+
+# pkg-config files.
+if (IRCCD_WITH_PKGCONFIG)
+    # Since javascript is optional, add it only if required.
+    if (IRCCD_HAVE_JS)
+        set(IRCCD_EXTRA_REQUIRES libirccd-js)
+    endif ()
+    if (IRCCD_HAVE_SSL)
+        set(IRCCD_EXTRA_LIBS "-lssl -lcrypto")
+    endif ()
+
+    foreach (pkg libirccd-core libirccd libirccd-ctl libirccd-js libirccd-test)
+        configure_file(
+            ${CMAKE_CURRENT_SOURCE_DIR}/${pkg}.pc
+            ${CMAKE_CURRENT_BINARY_DIR}/${pkg}.pc
+            @ONLY
+        )
+        install(
+            FILES ${CMAKE_CURRENT_BINARY_DIR}/${pkg}.pc
+            DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
+        )
+    endforeach ()
+endif ()