Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[brpc] Updata to 1.1.0 #24975

Merged
merged 1 commit into from
Jun 2, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
diff --git a/src/brpc/policy/thrift_protocol.cpp b/src/brpc/policy/thrift_protocol.cpp
index eae081a0..39c92338 100755
index 634f8f37..21b118b1 100755
--- a/src/brpc/policy/thrift_protocol.cpp
+++ b/src/brpc/policy/thrift_protocol.cpp
@@ -45,8 +45,7 @@
Expand Down
202 changes: 202 additions & 0 deletions ports/brpc/fix-build.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 057695af..ed4979f6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -63,7 +63,8 @@ endif()

if(WITH_THRIFT)
set(THRIFT_CPP_FLAG "-DENABLE_THRIFT_FRAMED_PROTOCOL")
- set(THRIFT_LIB "thrift")
+ find_package(Thrift CONFIG REQUIRED)
+ set(THRIFT_LIB "thrift::thrift")
endif()

include(GNUInstallDirs)
@@ -142,18 +143,21 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
endif()
endif()

-find_package(Protobuf REQUIRED)
+find_package(protobuf CONFIG REQUIRED)
+get_target_property(PROTOBUF_INCLUDE_DIR protobuf::libprotobuf INTERFACE_INCLUDE_DIRECTORIES)
+set(PROTOBUF_LIBRARIES protobuf::libprotobuf)
find_package(Threads REQUIRED)
-
-find_path(LEVELDB_INCLUDE_PATH NAMES leveldb/db.h)
-find_library(LEVELDB_LIB NAMES leveldb)
+find_package(leveldb CONFIG REQUIRED)
+set(LEVELDB_INCLUDE_PATH ${PROTOBUF_INCLUDE_DIR})
+set(LEVELDB_LIB leveldb::leveldb)
if ((NOT LEVELDB_INCLUDE_PATH) OR (NOT LEVELDB_LIB))
message(FATAL_ERROR "Fail to find leveldb")
endif()

if(WITH_GLOG)
- find_path(GLOG_INCLUDE_PATH NAMES glog/logging.h)
- find_library(GLOG_LIB NAMES glog)
+ find_package(glog CONFIG REQUIRED)
+ get_target_property(GLOG_INCLUDE_PATH glog::glog INTERFACE_INCLUDE_DIRECTORIES)
+ set(GLOG_LIB glog::glog)
if((NOT GLOG_INCLUDE_PATH) OR (NOT GLOG_LIB))
message(FATAL_ERROR "Fail to find glog")
endif()
@@ -171,7 +175,7 @@ if(WITH_MESALINK)
include_directories(${MESALINK_INCLUDE_PATH})
endif()

-find_library(PROTOC_LIB NAMES protoc)
+set(PROTOC_LIB "protobuf::libprotoc")
if(NOT PROTOC_LIB)
message(FATAL_ERROR "Fail to find protoc lib")
endif()
@@ -182,7 +186,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
)
endif()

-find_package(OpenSSL)
+find_package(OpenSSL REQUIRED)

include_directories(
${GFLAGS_INCLUDE_PATH}
@@ -197,9 +201,9 @@ set(DYNAMIC_LIB
${LEVELDB_LIB}
${PROTOC_LIB}
${CMAKE_THREAD_LIBS_INIT}
- ${THRIFT_LIB}
- ${THRIFTNB_LIB}
${OPENSSL_CRYPTO_LIBRARY}
+ ${OPENSSL_SSL_LIBRARY}
+ ${THRIFT_LIB}
dl
z)

@@ -434,7 +438,9 @@ if(BUILD_UNIT_TESTS)
enable_testing()
add_subdirectory(test)
endif()
+if(BUILD_TOOLS)
add_subdirectory(tools)
+endif()

file(COPY ${CMAKE_CURRENT_BINARY_DIR}/brpc/
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/output/include/brpc/
diff --git a/cmake/FindGFLAGS.cmake b/cmake/FindGFLAGS.cmake
index dfad5fd8..83a167f0 100644
--- a/cmake/FindGFLAGS.cmake
+++ b/cmake/FindGFLAGS.cmake
@@ -15,7 +15,8 @@

set(_gflags_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})

-find_path(GFLAGS_INCLUDE_PATH gflags/gflags.h)
+find_package(gflags CONFIG REQUIRED)
+get_target_property(GFLAGS_INCLUDE_PATH gflags::gflags INTERFACE_INCLUDE_DIRECTORIES)

if (GFLAGS_STATIC)
if (WIN32)
@@ -24,7 +25,7 @@ if (GFLAGS_STATIC)
set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
endif (WIN32)
endif (GFLAGS_STATIC)
-find_library(GFLAGS_LIBRARY NAMES gflags libgflags)
+set(GFLAGS_LIBRARY gflags::gflags)
if(GFLAGS_INCLUDE_PATH AND GFLAGS_LIBRARY)
set(GFLAGS_FOUND TRUE)
endif(GFLAGS_INCLUDE_PATH AND GFLAGS_LIBRARY)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index ee616eb1..35a5b48e 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -31,45 +31,77 @@ add_dependencies(SOURCES_LIB PROTO_LIB)
set_property(TARGET ${SOURCES_LIB} PROPERTY POSITION_INDEPENDENT_CODE 1)
set_property(TARGET ${BUTIL_LIB} PROPERTY POSITION_INDEPENDENT_CODE 1)

-add_library(brpc-shared SHARED $<TARGET_OBJECTS:BUTIL_LIB>
+if (BUILD_SHARED_LIBS)
+add_library(brpc-shared SHARED $<TARGET_OBJECTS:BUTIL_LIB>
$<TARGET_OBJECTS:SOURCES_LIB>
$<TARGET_OBJECTS:PROTO_LIB>)
+else()
add_library(brpc-static STATIC $<TARGET_OBJECTS:BUTIL_LIB>
$<TARGET_OBJECTS:SOURCES_LIB>
$<TARGET_OBJECTS:PROTO_LIB>)
-
-target_link_libraries(brpc-shared ${DYNAMIC_LIB})
+endif()
+if (BUILD_SHARED_LIBS)
+target_include_directories(brpc-shared PUBLIC $<INSTALL_INTERFACE:include>)
+target_link_libraries(brpc-shared PUBLIC ${DYNAMIC_LIB})
+else()
+target_include_directories(brpc-static PUBLIC $<INSTALL_INTERFACE:include>)
+target_link_libraries(brpc-static PUBLIC ${DYNAMIC_LIB})
+endif()

if(BRPC_WITH_GLOG)
+ if (BUILD_SHARED_LIBS)
target_link_libraries(brpc-shared ${GLOG_LIB})
+ else()
+ target_link_libraries(brpc-static ${GLOG_LIB})
+ endif()
endif()

if(BRPC_WITH_THRIFT)
+ if (BUILD_SHARED_LIBS)
target_link_libraries(brpc-shared thrift)
+ else()
target_link_libraries(brpc-static thrift)
+ endif()
endif()

+if (NOT BUILD_SHARED_LIBS)
SET_TARGET_PROPERTIES(brpc-static PROPERTIES OUTPUT_NAME brpc CLEAN_DIRECT_OUTPUT 1)
+else()
SET_TARGET_PROPERTIES(brpc-shared PROPERTIES OUTPUT_NAME brpc CLEAN_DIRECT_OUTPUT 1)
+endif()

-# for protoc-gen-mcpack
-set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/output/bin)
-
-set(protoc_gen_mcpack_SOURCES
- ${PROJECT_SOURCE_DIR}/src/mcpack2pb/generator.cpp
- )
-add_executable(protoc-gen-mcpack ${protoc_gen_mcpack_SOURCES})
-target_link_libraries(protoc-gen-mcpack brpc-shared)
-
#install directory
-install(TARGETS brpc-shared
+if (BUILD_SHARED_LIBS)
+install(TARGETS brpc-shared EXPORT unofficial-brpcTargets
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
-
-install(TARGETS brpc-static
+else()
+install(TARGETS brpc-static EXPORT unofficial-brpcTargets
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
+endif()
+
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-brpc-config.cmake"
+[[include(CMakeFindDependencyMacro)
+find_dependency(OpenSSL)
+find_dependency(Threads)
+find_dependency(gflags CONFIG)
+find_dependency(protobuf CONFIG)
+find_dependency(leveldb CONFIG)
+find_dependency(Thrift CONFIG)
+find_dependency(glog CONFIG)
+file(GLOB TARGET_FILES "${CMAKE_CURRENT_LIST_DIR}/unofficial-brpcTargets.cmake")
+foreach (TARGET_FILE ${TARGET_FILES})
+ include("${TARGET_FILE}")
+endforeach()
+]])
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/unofficial-brpc-config.cmake" DESTINATION share/unofficial-brpc)
+
+install(EXPORT unofficial-brpcTargets
+ NAMESPACE unofficial::brpc::
+ DESTINATION share/unofficial-brpc
+)
28 changes: 0 additions & 28 deletions ports/brpc/fix_thrift.patch

This file was deleted.

18 changes: 6 additions & 12 deletions ports/brpc/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,19 +1,12 @@
vcpkg_download_distfile(patch1679
URLS "https://patch-diff.githubusercontent.com/raw/apache/incubator-brpc/pull/1679.diff"
FILENAME "apache-incubator-brpc-1679.diff"
SHA512 4b1e5717b44aa6a741ddd49b1408e3e556f6d845d5e8a5cfccf2f2d7ebe39aed19c3dad703db7a9ebd0446ac1f225e7dbdd2ff1f23f34fd60c3ef59aaa07b789
)

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO apache/incubator-brpc
REF 1d6510aa50075cade5ed539ee09a11a1b8d7f990 # 0.9.7
SHA512 9c9dbe2a202e58586010c56634bd371f6a9e3ff0d8c5341abbabd1f1dd204a3aec5e89061fa326b4fc8ae7202f9fc33f93a5acd845d18dab3915a3e2b81cbaf3
REF 06247c18ed6307613f04c0d2357cb91d0c14131b
SHA512 f31b1ce3bd99dd585686ec540c9713d5d5936b2d58aadfb3f0ef48faeaab1797f2373e14b73578c2f9f8355d1e9d03661e2ed9ed8c4349b4e43e510d2214b5ae
HEAD_REF master
PATCHES
fix_boost_ptr.patch
fix_thrift.patch
${patch1679}
fix-build.patch
fix-boost-ptr.patch
)

vcpkg_cmake_configure(
Expand All @@ -22,12 +15,13 @@ vcpkg_cmake_configure(
-DWITH_THRIFT=ON
-DWITH_MESALINK=OFF
-DWITH_GLOG=ON
-DDOWNLOAD_GTEST=OFF
)

vcpkg_cmake_install()
vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-brpc CONFIG_PATH share/unofficial-brpc)

file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/butil/third_party/superfasthash")

vcpkg_copy_pdbs()
Expand Down
7 changes: 5 additions & 2 deletions ports/brpc/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
"name": "brpc",
"version": "0.9.7",
"port-version": 7,
"version": "1.1.0",
"description": "Industrial-grade RPC framework used throughout Baidu, with 1,000,000+ instances and thousands kinds of services, called \"baidu-rpc\" inside Baidu.",
"homepage": "https://github.com/apache/incubator-brpc",
"license": "Apache-2.0",
Expand All @@ -24,6 +23,10 @@
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
]
}
5 changes: 5 additions & 0 deletions versions/b-/brpc.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "c88bb19658430803981fbfa4ec45432bed88310b",
"version": "1.1.0",
"port-version": 0
},
{
"git-tree": "bcff3231352f577720f51a99dbf9ecf0132ebcba",
"version": "0.9.7",
Expand Down
4 changes: 2 additions & 2 deletions versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -1157,8 +1157,8 @@
"port-version": 2
},
"brpc": {
"baseline": "0.9.7",
"port-version": 7
"baseline": "1.1.0",
"port-version": 0
},
"brunocodutra-metal": {
"baseline": "2.1.4",
Expand Down