diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake index bdfe10c99d8..e282afb727b 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -2230,6 +2230,13 @@ if(ARROW_TESTING) 1.10.0 USE_CONFIG ${GTEST_USE_CONFIG}) + get_target_property(gtest_cxx_standard GTest::gtest INTERFACE_COMPILE_FEATURES) + + if((${gtest_cxx_standard} STREQUAL "cxx_std_11") OR (${gtest_cxx_standard} STREQUAL + "cxx_std_14")) + message(FATAL_ERROR "System GTest is built with a C++ standard lower than 17. Use bundled GTest via passing in CMake flag +-DGTest_SOURCE=\"BUNDLED\"") + endif() if(GTest_SOURCE STREQUAL "SYSTEM") find_package(PkgConfig QUIET)