From f8eeb3e4d864289516742f65a58abb99ef2c7dfb Mon Sep 17 00:00:00 2001 From: BGQ99 <1132767344@qq.com> Date: Sat, 22 Aug 2026 16:13:58 +0800 Subject: [PATCH 1/2] fix(cmake): prioritize discovered zlib headers for brpc sources (#23) --- CMakeLists.txt | 3 ++- src/CMakeLists.txt | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9419ac3a76..93113b6fc4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -227,6 +227,7 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") endif() find_package(Protobuf REQUIRED) +find_package(ZLIB REQUIRED) if(Protobuf_VERSION VERSION_GREATER 4.21) # required by absl set(BRPC_CXX_STANDARD 17) @@ -351,7 +352,7 @@ set(DYNAMIC_LIB ${CMAKE_THREAD_LIBS_INIT} ${THRIFT_LIB} dl - z) + ZLIB::ZLIB) if(WITH_BORINGSSL) list(APPEND DYNAMIC_LIB ${BORINGSSL_SSL_LIBRARY}) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 17fe2154bf..2004df52ab 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -21,6 +21,10 @@ add_dependencies(SOURCES_LIB PROTO_LIB) target_link_libraries(BUTIL_LIB PRIVATE brpc_common_config) target_link_libraries(SOURCES_LIB PRIVATE brpc_common_config) +# protobuf/io/gzip_stream.h includes . Prioritize the discovered +# zlib headers over include directories inherited from parent projects. +target_include_directories(SOURCES_LIB BEFORE PRIVATE ${ZLIB_INCLUDE_DIRS}) + # shared library needs POSITION_INDEPENDENT_CODE set_property(TARGET ${SOURCES_LIB} PROPERTY POSITION_INDEPENDENT_CODE 1) set_property(TARGET ${BUTIL_LIB} PROPERTY POSITION_INDEPENDENT_CODE 1) From af9bd7f44e14c563b015790e7f019033626b5adb Mon Sep 17 00:00:00 2001 From: BGQ99 <1132767344@qq.com> Date: Tue, 25 Aug 2026 23:08:40 +0800 Subject: [PATCH 2/2] refactor(cmake): remove inherited include-order workaround --- src/CMakeLists.txt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2004df52ab..17fe2154bf 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -21,10 +21,6 @@ add_dependencies(SOURCES_LIB PROTO_LIB) target_link_libraries(BUTIL_LIB PRIVATE brpc_common_config) target_link_libraries(SOURCES_LIB PRIVATE brpc_common_config) -# protobuf/io/gzip_stream.h includes . Prioritize the discovered -# zlib headers over include directories inherited from parent projects. -target_include_directories(SOURCES_LIB BEFORE PRIVATE ${ZLIB_INCLUDE_DIRS}) - # shared library needs POSITION_INDEPENDENT_CODE set_property(TARGET ${SOURCES_LIB} PROPERTY POSITION_INDEPENDENT_CODE 1) set_property(TARGET ${BUTIL_LIB} PROPERTY POSITION_INDEPENDENT_CODE 1)