Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:wolfi323:branches:home:dliw
mysql-connector-cpp
mysql-connector-cpp-use-system-protobuf.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File mysql-connector-cpp-use-system-protobuf.patch of Package mysql-connector-cpp
Index: b/cdk/CMakeLists.txt =================================================================== --- a/cdk/CMakeLists.txt +++ b/cdk/CMakeLists.txt @@ -97,6 +97,7 @@ find_dependency(SSL) #find_dependency(Protobuf) find_dependency(RapidJSON) find_dependency(Coverage) +#find_package(Protobuf REQUIRED) # TODO: These macros should not be used in public headers because they are Index: b/cdk/protocol/mysqlx/CMakeLists.txt =================================================================== --- a/cdk/protocol/mysqlx/CMakeLists.txt +++ b/cdk/protocol/mysqlx/CMakeLists.txt @@ -26,7 +26,8 @@ # along with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -find_dependency(Protobuf) +#find_dependency(Protobuf) +find_package(Protobuf REQUIRED) find_dependency(Compression) include(CheckIncludeFile) @@ -39,7 +40,7 @@ add_config(HAVE_BYTEORDER_H) add_config_option(DEBUG_PROTOBUF BOOL ADVANCED DEFAULT OFF "Debug Protobuf messages") -set(use_full_protobuf ${WITH_TESTS}) +set(use_full_protobuf 1) if (DEBUG_PROTOBUF) message("Protobuf debugging enabled") @@ -111,6 +112,65 @@ if(NOT use_full_protobuf) endif(NOT use_full_protobuf) +function(mysqlx_protobuf_generate_cpp SRCS HDRS) + + IF(NOT ARGN) + MESSAGE(SEND_ERROR + "Error: MYSQLX_PROTOBUF_GENERATE_CPP() called without any proto files") + RETURN() + ENDIF() + + SET(srcs) + SET(hdrs) + + FOREACH(FIL ${ARGN}) + + GET_FILENAME_COMPONENT(ABS_FIL ${FIL} ABSOLUTE) + GET_FILENAME_COMPONENT(FIL_WE ${FIL} NAME_WE) + GET_FILENAME_COMPONENT(ABS_PATH ${ABS_FIL} PATH) + + LIST(APPEND srcs "${CMAKE_CURRENT_BINARY_DIR}/protobuf/${FIL_WE}.pb.cc") + LIST(APPEND hdrs "${CMAKE_CURRENT_BINARY_DIR}/protobuf/${FIL_WE}.pb.h") + + ADD_CUSTOM_COMMAND( + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/protobuf/${FIL_WE}.pb.cc" + "${CMAKE_CURRENT_BINARY_DIR}/protobuf/${FIL_WE}.pb.h" + COMMAND ${CMAKE_COMMAND} + -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/protobuf" + COMMAND protobuf::protoc + ARGS --cpp_out "${CMAKE_CURRENT_BINARY_DIR}/protobuf" + -I ${ABS_PATH} ${ABS_FIL} + DEPENDS ${ABS_FIL} #${PROTOBUF_PROTOC_EXECUTABLE} + COMMENT "Running C++ protocol buffer compiler on ${FIL}" + VERBATIM + ) + + ENDFOREACH() + + SET_SOURCE_FILES_PROPERTIES( + ${srcs} ${hdrs} + PROPERTIES GENERATED TRUE) + + # + # Disable compile warnings in code generated by Protobuf + # + + IF(UNIX) + set_source_files_properties(${srcs} + APPEND_STRING PROPERTY COMPILE_FLAGS "-w" + ) + ELSE(WIN32) + set_source_files_properties(${srcs} + APPEND_STRING PROPERTY COMPILE_FLAGS + "/W1 /wd4018 /wd4996 /wd4244 /wd4267" + ) + ENDIF() + + + SET(${SRCS} ${srcs} PARENT_SCOPE) + SET(${HDRS} ${hdrs} PARENT_SCOPE) + +endfunction(mysqlx_protobuf_generate_cpp) mysqlx_protobuf_generate_cpp(PB_SRCS PB_HDRS ${proto_mysqlx_defs}) @@ -129,11 +189,11 @@ target_include_directories(cdk_proto_mys ${CMAKE_CURRENT_BINARY_DIR} ) -if(use_full_protobuf) - target_link_libraries(cdk_proto_mysqlx PRIVATE ext::protobuf) -else() - target_link_libraries(cdk_proto_mysqlx PRIVATE ext::protobuf-lite) -endif() +#if(use_full_protobuf) +# target_link_libraries(cdk_proto_mysqlx PRIVATE ext:protobuf) +#else() +# target_link_libraries(cdk_proto_mysqlx PRIVATE ext::protobuf-lite) +#endif() target_link_libraries(cdk_proto_mysqlx PRIVATE cdk_foundation ext::z ext::lz4 ext::zstd Index: b/cdk/core/CMakeLists.txt =================================================================== --- a/cdk/core/CMakeLists.txt +++ b/cdk/core/CMakeLists.txt @@ -45,7 +45,7 @@ add_library(cdk STATIC ${cdk_sources} ${ target_link_libraries(cdk PUBLIC cdk_mysqlx cdk_parser - PRIVATE ext::protobuf-lite # required by codecc.cc +# PRIVATE ext::protobuf-lite # required by codecc.cc ) add_coverage(cdk)
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor