diff --git a/CMakeLists.txt b/CMakeLists.txt index 2d54dcb..9e169ed 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,7 @@ cmake_minimum_required(VERSION 3.12) -project(protobuf_comm VERSION 0.9.0) +project(protobuf_comm VERSION 0.9.0 + DESCRIPTION "Protobuf wrapper for peer-to-peer communication") find_package(Protobuf REQUIRED) find_package(Boost REQUIRED COMPONENTS thread system) @@ -44,3 +45,19 @@ install( install(FILES cmake/ProtobufCommConfig.cmake ${CMAKE_CURRENT_BINARY_DIR}/ProtobufCommConfigVersion.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ProtobufComm) + +set(PKG_CONFIG_REQUIRES "protobuf libcrypto") +get_target_property(PKG_CONFIG_PUBLIC_LIBS protobuf_comm INTERFACE_LINK_LIBRARIES) +get_target_property(PKG_CONFIG_PRIVATE_LIBS protobuf_comm LINK_LIBRARIES) +get_target_property(PKG_CONFIG_CFLAGS protobuf_comm COMPILE_FLAGS) +if ("${PKG_CONFIG_CFLAGS}" STREQUAL "PKG_CONFIG_CFLAGS-NOTFOUND") + set(PKG_CONFIG_CFLAGS "") +endif() + +set(PKG_CONFIG_PUBLIC_LIBS "-lcrypto -lprotobuf -lboost_thread -lboost_system") +set(PKG_CONFIG_PRIVATE_LIBS "") +set(PKG_CONFIG_CFLAGS "") + +configure_file(protobuf_comm.pc.in ${CMAKE_CURRENT_BINARY_DIR}/protobuf_comm.pc @ONLY) + +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/protobuf_comm.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) diff --git a/protobuf_comm.pc.in b/protobuf_comm.pc.in new file mode 100644 index 0000000..6144a94 --- /dev/null +++ b/protobuf_comm.pc.in @@ -0,0 +1,7 @@ +Name: @PROJECT_NAME@ +Description: @PROJECT_DESCRIPTION@ +Version: @PROJECT_VERSION@ +Requires: @PKG_CONFIG_REQUIRES@ +Cflags: @PKG_CONFIG_CFLAGS@ +Libs: -lprotobuf_comm @PKG_CONFIG_PUBLIC_LIBS@ +Libs.private: @PKG_CONFIG_PRIVATE_LIBS@