Skip to content

Missing pkg-config file for cppzmq #492

Closed
@panicgh

Description

@panicgh

It would be nice for compatibility with pkg-config-based applications, if cppzmq generated a *.pc file like libzmq already does. For someone knowledgeable in CMake (not me) this is probably a trivial task.

Maybe this does the trick:

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1fdf04a..0b49b34 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -87,6 +87,11 @@ write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Conf
                                  COMPATIBILITY AnyNewerVersion)
 set(CMAKE_SIZEOF_VOID_P ${CPPZMQ_SIZEOF_VOID_P})
 
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cppzmq.pc.in
+               ${CMAKE_CURRENT_BINARY_DIR}/cppzmq.pc @ONLY)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cppzmq.pc
+              DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+
 install(EXPORT ${PROJECT_NAME}-targets
         FILE ${PROJECT_NAME}Targets.cmake
         DESTINATION ${CPPZMQ_CMAKECONFIG_INSTALL_DIR})
diff --git a/cppzmq.pc.in b/cppzmq.pc.in
new file mode 100644
index 0000000..3dc945d
--- /dev/null
+++ b/cppzmq.pc.in
@@ -0,0 +1,9 @@
+prefix="@CMAKE_INSTALL_PREFIX@"
+includedir="@CMAKE_INSTALL_FULL_INCLUDEDIR@"
+
+Name: @PROJECT_NAME@
+Description: C++ binding for libzmq
+URL: https://github.com/zeromq/cppzmq
+Version: @PROJECT_VERSION@
+Requires: libzmq
+Cflags: -I"${includedir}" @pkg_config_defines@
-- 
2.31.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions