Prefer -pthread flag on UNIX (#28272)

pull/28292/head
hexchain 3 years ago committed by GitHub
parent d1448872fa
commit bf2ab4aa6e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 18
      CMakeLists.txt
  2. 18
      templates/CMakeLists.txt.template

18
CMakeLists.txt generated

@ -293,6 +293,16 @@ if (gRPC_XDS_USER_AGENT_IS_CSHARP)
add_definitions("-DGRPC_XDS_USER_AGENT_NAME_SUFFIX=\"csharp\"" "-DGRPC_XDS_USER_AGENT_VERSION_SUFFIX=\"2.44.0-dev\"")
endif()
if(UNIX)
# -pthread does more than -lpthread
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads)
set(_gRPC_ALLTARGETS_LIBRARIES ${CMAKE_DL_LIBS} m Threads::Threads)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX)
set(_gRPC_ALLTARGETS_LIBRARIES ${_gRPC_ALLTARGETS_LIBRARIES} rt)
endif()
endif()
include(cmake/abseil-cpp.cmake)
include(cmake/address_sorting.cmake)
include(cmake/benchmark.cmake)
@ -304,14 +314,6 @@ include(cmake/upb.cmake)
include(cmake/xxhash.cmake)
include(cmake/zlib.cmake)
if(_gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_IOS)
set(_gRPC_ALLTARGETS_LIBRARIES ${CMAKE_DL_LIBS} m pthread)
elseif(_gRPC_PLATFORM_ANDROID)
set(_gRPC_ALLTARGETS_LIBRARIES ${CMAKE_DL_LIBS} m)
elseif(UNIX)
set(_gRPC_ALLTARGETS_LIBRARIES ${CMAKE_DL_LIBS} rt m pthread)
endif()
if(WIN32)
set(_gRPC_BASELIB_LIBRARIES ws2_32 crypt32)
endif()

@ -331,6 +331,16 @@
add_definitions("-DGRPC_XDS_USER_AGENT_NAME_SUFFIX=\"csharp\"" "-DGRPC_XDS_USER_AGENT_VERSION_SUFFIX=\"${settings.csharp_version}\"")
endif()
if(UNIX)
# -pthread does more than -lpthread
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads)
set(_gRPC_ALLTARGETS_LIBRARIES <%text>${CMAKE_DL_LIBS}</%text> m Threads::Threads)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX)
set(_gRPC_ALLTARGETS_LIBRARIES <%text>${_gRPC_ALLTARGETS_LIBRARIES}</%text> rt)
endif()
endif()
include(cmake/abseil-cpp.cmake)
include(cmake/address_sorting.cmake)
include(cmake/benchmark.cmake)
@ -342,14 +352,6 @@
include(cmake/xxhash.cmake)
include(cmake/zlib.cmake)
if(_gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_IOS)
set(_gRPC_ALLTARGETS_LIBRARIES <%text>${CMAKE_DL_LIBS}</%text> m pthread)
elseif(_gRPC_PLATFORM_ANDROID)
set(_gRPC_ALLTARGETS_LIBRARIES <%text>${CMAKE_DL_LIBS}</%text> m)
elseif(UNIX)
set(_gRPC_ALLTARGETS_LIBRARIES <%text>${CMAKE_DL_LIBS}</%text> rt m pthread)
endif()
if(WIN32)
set(_gRPC_BASELIB_LIBRARIES ws2_32 crypt32)
endif()

Loading…
Cancel
Save