From 969bbb65fc042d05c0b5322ce5bbbe6a2a7739ca Mon Sep 17 00:00:00 2001 From: David Li Date: Mon, 12 Oct 2020 10:24:54 -0400 Subject: [PATCH] ARROW-10286: [C++][FlightRPC] Make CMake output less confusing --- cpp/src/arrow/flight/CMakeLists.txt | 57 +++++++++++++++++------------ 1 file changed, 33 insertions(+), 24 deletions(-) diff --git a/cpp/src/arrow/flight/CMakeLists.txt b/cpp/src/arrow/flight/CMakeLists.txt index 1a1ebe91c8c3..da152367b2aa 100644 --- a/cpp/src/arrow/flight/CMakeLists.txt +++ b/cpp/src/arrow/flight/CMakeLists.txt @@ -69,34 +69,43 @@ string(REPLACE "-Werror " " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") # Probe the version of gRPC being used to see if it supports disabling server # verification when using TLS. -message(STATUS "Checking support for TlsCredentialsOptions...") -get_property(CURRENT_INCLUDE_DIRECTORIES - DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - PROPERTY INCLUDE_DIRECTORIES) -try_compile(HAS_GRPC_132 ${CMAKE_CURRENT_BINARY_DIR}/try_compile SOURCES - "${CMAKE_CURRENT_SOURCE_DIR}/try_compile/check_tls_opts_132.cc" - CMAKE_FLAGS "-DINCLUDE_DIRECTORIES=${CURRENT_INCLUDE_DIRECTORIES}" - LINK_LIBRARIES gRPC::grpc - OUTPUT_VARIABLE TSL_CREDENTIALS_OPTIONS_CHECK_OUTPUT CXX_STANDARD 11) - -if(HAS_GRPC_132) - message(STATUS "TlsCredentialsOptions found in grpc::experimental.") - add_definitions(-DGRPC_NAMESPACE_FOR_TLS_CREDENTIALS_OPTIONS=grpc::experimental) -else() - message(STATUS "TlsCredentialsOptions not found in grpc::experimental.") - message(STATUS "Build output: ${TSL_CREDENTIALS_OPTIONS_CHECK_OUTPUT}") - - try_compile(HAS_GRPC_127 ${CMAKE_CURRENT_BINARY_DIR}/try_compile SOURCES - "${CMAKE_CURRENT_SOURCE_DIR}/try_compile/check_tls_opts_127.cc" +if(NOT DEFINED HAS_GRPC_132) + message(STATUS "Checking support for TlsCredentialsOptions...") + get_property(CURRENT_INCLUDE_DIRECTORIES + DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + PROPERTY INCLUDE_DIRECTORIES) + try_compile(HAS_GRPC_132 ${CMAKE_CURRENT_BINARY_DIR}/try_compile SOURCES + "${CMAKE_CURRENT_SOURCE_DIR}/try_compile/check_tls_opts_132.cc" CMAKE_FLAGS "-DINCLUDE_DIRECTORIES=${CURRENT_INCLUDE_DIRECTORIES}" + LINK_LIBRARIES gRPC::grpc OUTPUT_VARIABLE TSL_CREDENTIALS_OPTIONS_CHECK_OUTPUT CXX_STANDARD 11) - if(HAS_GRPC_127) - message(STATUS "TlsCredentialsOptions found in grpc_impl::experimental.") - add_definitions(-DGRPC_NAMESPACE_FOR_TLS_CREDENTIALS_OPTIONS=grpc_impl::experimental) + if(HAS_GRPC_132) + message(STATUS "TlsCredentialsOptions found in grpc::experimental.") + add_definitions(-DGRPC_NAMESPACE_FOR_TLS_CREDENTIALS_OPTIONS=grpc::experimental) else() - message(STATUS "TlsCredentialsOptions not found in grpc_impl::experimental.") - message(STATUS "Build output: ${TSL_CREDENTIALS_OPTIONS_CHECK_OUTPUT}") + message(STATUS "TlsCredentialsOptions not found in grpc::experimental.") + message(DEBUG "Build output:") + list(APPEND CMAKE_MESSAGE_INDENT "check_tls_opts_132.cc: ") + message(DEBUG ${TSL_CREDENTIALS_OPTIONS_CHECK_OUTPUT}) + list(POP_BACK CMAKE_MESSAGE_INDENT) + + try_compile(HAS_GRPC_127 ${CMAKE_CURRENT_BINARY_DIR}/try_compile SOURCES + "${CMAKE_CURRENT_SOURCE_DIR}/try_compile/check_tls_opts_127.cc" + CMAKE_FLAGS "-DINCLUDE_DIRECTORIES=${CURRENT_INCLUDE_DIRECTORIES}" + OUTPUT_VARIABLE TSL_CREDENTIALS_OPTIONS_CHECK_OUTPUT CXX_STANDARD 11) + + if(HAS_GRPC_127) + message(STATUS "TlsCredentialsOptions found in grpc_impl::experimental.") + add_definitions( + -DGRPC_NAMESPACE_FOR_TLS_CREDENTIALS_OPTIONS=grpc_impl::experimental) + else() + message(STATUS "TlsCredentialsOptions not found in grpc_impl::experimental.") + message(DEBUG "Build output:") + list(APPEND CMAKE_MESSAGE_INDENT "check_tls_opts_127.cc: ") + message(DEBUG ${TSL_CREDENTIALS_OPTIONS_CHECK_OUTPUT}) + list(POP_BACK CMAKE_MESSAGE_INDENT) + endif() endif() endif()