Skip to content
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
102 changes: 102 additions & 0 deletions ports/grpc/00015-target-definitions.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0097a1c..194d338 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -65,6 +65,8 @@ else()
set(_gRPC_INSTALL_SUPPORTED_FROM_MODULE ON)
endif()

+add_library(grpc_definitions INTERFACE)
+
# Providers for third-party dependencies (gRPC_*_PROVIDER properties):
# "module": build the dependency using sources from git submodule (under third_party)
# "package": use cmake's find_package functionality to locate a pre-installed dependency
@@ -222,7 +224,7 @@ endif()

if(MSVC)
include(cmake/msvc_static_runtime.cmake)
- add_definitions(-D_WIN32_WINNT=0x600 -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS)
+ target_compile_definitions(grpc_definitions INTERFACE -D_WIN32_WINNT=0x600 -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS)
# needed to compile protobuf
set(_gRPC_C_CXX_FLAGS "${_gRPC_C_CXX_FLAGS} /wd4065 /wd4506")
# TODO(jtattermusch): revisit warnings that were silenced as part of upgrade to protobuf3.6.0
@@ -232,24 +234,24 @@ if(MSVC)
# TODO(jtattermusch): needed to build boringssl with VS2017, revisit later
set(_gRPC_C_CXX_FLAGS "${_gRPC_C_CXX_FLAGS} /wd4987 /wd4774 /wd4819 /wd4996 /wd4619")
if(_gRPC_PLATFORM_UWP)
- add_definitions(-DGRPC_ARES=0)
+ target_compile_definitions(grpc_definitions INTERFACE -DGRPC_ARES=0)
endif()
endif()
if (MINGW)
- add_definitions(-D_WIN32_WINNT=0x600)
+ target_compile_definitions(grpc_definitions INTERFACE -D_WIN32_WINNT=0x600)
endif()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_gRPC_C_CXX_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${_gRPC_C_CXX_FLAGS}")

if(gRPC_USE_PROTO_LITE)
set(_gRPC_PROTOBUF_LIBRARY_NAME "libprotobuf-lite")
- add_definitions("-DGRPC_USE_PROTO_LITE")
+ target_compile_definitions(grpc_definitions INTERFACE -DGRPC_USE_PROTO_LITE)
else()
set(_gRPC_PROTOBUF_LIBRARY_NAME "libprotobuf")
endif()

if(gRPC_BACKWARDS_COMPATIBILITY_MODE)
- add_definitions(-DGPR_BACKWARDS_COMPATIBILITY_MODE)
+ target_compile_definitions(grpc_definitions INTERFACE -DGPR_BACKWARDS_COMPATIBILITY_MODE)
if(_gRPC_PLATFORM_MAC)
# some C++11 constructs not supported before OS X 10.10
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.10)
@@ -265,7 +267,7 @@ endif()
if (gRPC_XDS_USER_AGENT_IS_CSHARP)
# The value of the defines needs to contain quotes.
# See https://github.com/grpc/grpc/blob/fbf32836a418cc84f58786700273b65cb9174e1d/src/core/ext/xds/xds_api.cc#L854
- add_definitions("-DGRPC_XDS_USER_AGENT_NAME_SUFFIX=\"csharp\"" "-DGRPC_XDS_USER_AGENT_VERSION_SUFFIX=\"2.41.0\"")
+ target_compile_definitions(grpc_definitions INTERFACE "-DGRPC_XDS_USER_AGENT_NAME_SUFFIX=\"csharp\"" "-DGRPC_XDS_USER_AGENT_VERSION_SUFFIX=\"2.41.0\"")
endif()

include(cmake/abseil-cpp.cmake)
@@ -285,15 +287,15 @@ if(ABSL_USE_CXX17)
endif()

if(_gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_IOS)
- set(_gRPC_ALLTARGETS_LIBRARIES ${CMAKE_DL_LIBS} m pthread)
+ set(_gRPC_ALLTARGETS_LIBRARIES ${CMAKE_DL_LIBS} m pthread grpc_definitions)
elseif(_gRPC_PLATFORM_ANDROID)
- set(_gRPC_ALLTARGETS_LIBRARIES ${CMAKE_DL_LIBS} m)
+ set(_gRPC_ALLTARGETS_LIBRARIES ${CMAKE_DL_LIBS} m grpc_definitions)
elseif(UNIX)
- set(_gRPC_ALLTARGETS_LIBRARIES ${CMAKE_DL_LIBS} rt m pthread)
+ set(_gRPC_ALLTARGETS_LIBRARIES ${CMAKE_DL_LIBS} rt m pthread grpc_definitions)
endif()

if(WIN32)
- set(_gRPC_BASELIB_LIBRARIES wsock32 ws2_32 crypt32 gdi32)
+ set(_gRPC_BASELIB_LIBRARIES wsock32 ws2_32 crypt32 gdi32 grpc_definitions)
endif()

# Create directory for generated .proto files
@@ -1115,7 +1117,7 @@ target_link_libraries(address_sorting


if(gRPC_INSTALL)
- install(TARGETS address_sorting EXPORT gRPCTargets
+ install(TARGETS address_sorting grpc_definitions EXPORT gRPCTargets
RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
diff --git a/cmake/abseil-cpp.cmake b/cmake/abseil-cpp.cmake
index c625bad..2f216c8 100644
--- a/cmake/abseil-cpp.cmake
+++ b/cmake/abseil-cpp.cmake
@@ -34,7 +34,7 @@ elseif(gRPC_ABSL_PROVIDER STREQUAL "package")
# Use "CONFIG" as there is no built-in cmake module for absl.
find_package(absl REQUIRED CONFIG)
if (gRPC_ABSL_SYNC_ENABLE)
- add_definitions(-DGPR_ABSEIL_SYNC=1)
+ target_compile_definitions(grpc_definitions INTERFACE -DGPR_ABSEIL_SYNC=1)
endif()
endif()
set(_gRPC_FIND_ABSL "if(NOT TARGET absl::strings)\n find_package(absl CONFIG)\nendif()")
1 change: 1 addition & 0 deletions ports/grpc/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ vcpkg_from_github(
00012-fix-use-cxx17.patch
00013-build-upbdefs.patch
00014-pkgconfig-upbdefs.patch
00015-target-definitions.patch
)

if(NOT TARGET_TRIPLET STREQUAL HOST_TRIPLET)
Expand Down