From bd6aa35d8fb770fa62d33c1a8a184d2503c1a8f3 Mon Sep 17 00:00:00 2001 From: Will Ayd Date: Tue, 21 Jan 2025 18:06:31 -0500 Subject: [PATCH] GH-45325: [C++] Improved error message when using clang++ without clang --- cpp/cmake_modules/SetupCxxFlags.cmake | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/cpp/cmake_modules/SetupCxxFlags.cmake b/cpp/cmake_modules/SetupCxxFlags.cmake index fdb28b540e2d2..fda1d806dabc2 100644 --- a/cpp/cmake_modules/SetupCxxFlags.cmake +++ b/cpp/cmake_modules/SetupCxxFlags.cmake @@ -23,6 +23,27 @@ include(CheckCXXSourceCompiles) message(STATUS "System processor: ${CMAKE_SYSTEM_PROCESSOR}") +set(UsingClang + CMAKE_C_COMPILER_ID + STREQUAL + "AppleClang" + OR + CMAKE_C_COMPILER_ID + STREQUAL + "Clang") +set(UsingClangPlusPlus + CMAKE_CXX_COMPILER_ID + STREQUAL + "AppleClang" + OR + CMAKE_CXX_COMPILER_ID + STREQUAL + "Clang") + +if(UsingClangPlusPlus and NOT UsingClang) + error("When using clang++ you must also use clang") +endif() + if(NOT DEFINED ARROW_CPU_FLAG) if(CMAKE_SYSTEM_NAME STREQUAL "Emscripten") set(ARROW_CPU_FLAG "emscripten")