From 65c7048251c7a153c9a71d8aea13ac4629b5c993 Mon Sep 17 00:00:00 2001 From: Ryan Ofsky Date: Thu, 30 Jan 2025 11:07:27 -0500 Subject: [PATCH 1/2] cmake: Suppress compiler warnings from capnproto headers Tweak target_link_libraries calls to correctly declare dependencies on capnproto libraries as public, so capnproto include directories get correctly added to downstream targets. Without this, compiler warnings can be triggered from capnproto headers because they are not treated like external headers. Fixes #138 --- CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a01d08c2..24a470fb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -95,10 +95,10 @@ target_include_directories(multiprocess PUBLIC $ $ ${CAPNP_INCLUDE_DIRECTORY}) -target_link_libraries(multiprocess PRIVATE CapnProto::capnp) -target_link_libraries(multiprocess PRIVATE CapnProto::capnp-rpc) -target_link_libraries(multiprocess PRIVATE CapnProto::kj) -target_link_libraries(multiprocess PRIVATE CapnProto::kj-async) +target_link_libraries(multiprocess PUBLIC CapnProto::capnp) +target_link_libraries(multiprocess PUBLIC CapnProto::capnp-rpc) +target_link_libraries(multiprocess PUBLIC CapnProto::kj) +target_link_libraries(multiprocess PUBLIC CapnProto::kj-async) set_target_properties(multiprocess PROPERTIES PUBLIC_HEADER "${MP_PUBLIC_HEADERS}") install(TARGETS multiprocess EXPORT LibTargets From 72326b5d1e1921c5067994eeb298dfe55e0aebe2 Mon Sep 17 00:00:00 2001 From: Ryan Ofsky Date: Fri, 31 Jan 2025 06:15:14 -0500 Subject: [PATCH 2/2] cmake: Simplify capnp include handling Stop using lower level target_include_directories to add CAPNP_INCLUDE_DIRECTORY includes. This is no longer needed now that newer capnproto releases provide targets that set their own includes. This change is based on some similar cleanups originally implemented by Cory Fields in https://github.com/chaincodelabs/libmultiprocess/pull/141 --- CMakeLists.txt | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 24a470fb..c2b1a574 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -53,8 +53,8 @@ capnp_generate_cpp(MP_PROXY_SRCS MP_PROXY_HDRS include/mp/proxy.capnp) add_library(mputil OBJECT src/mp/util.cpp) target_include_directories(mputil PRIVATE $ - $ - ${CAPNP_INCLUDE_DIRECTORY}) + $) +target_link_libraries(mputil PUBLIC CapnProto::kj) # libmultiprocess.a runtime library set(MP_PUBLIC_HEADERS @@ -93,8 +93,7 @@ add_library(Libmultiprocess::multiprocess ALIAS multiprocess) target_include_directories(multiprocess PUBLIC $ $ - $ - ${CAPNP_INCLUDE_DIRECTORY}) + $) target_link_libraries(multiprocess PUBLIC CapnProto::capnp) target_link_libraries(multiprocess PUBLIC CapnProto::capnp-rpc) target_link_libraries(multiprocess PUBLIC CapnProto::kj)