early-access version 2853
This commit is contained in:
202
externals/vcpkg/ports/brpc/fix-build.patch
vendored
Executable file
202
externals/vcpkg/ports/brpc/fix-build.patch
vendored
Executable file
@@ -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
|
||||
+)
|
||||
Reference in New Issue
Block a user