From 14d7c88c804d072c79cc9a8f94ea5946c8e15d65 Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Thu, 27 Mar 2025 17:13:25 +0900 Subject: [PATCH 1/2] GH-45930: [C++] Don't use ICU C++ API in Azure SDK C++ --- cpp/cmake_modules/ThirdpartyToolchain.cmake | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake index bf843649b5f..1ef275ebb28 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -5510,6 +5510,9 @@ function(build_azure_sdk) set(BUILD_SAMPLES FALSE) set(BUILD_TESTING FALSE) set(BUILD_WINDOWS_UWP TRUE) + # ICU 75.1 or later requires C++17 but Azure SDK for C++ still uses + # C++14. So we disable C++ API in ICU. + string(APPEND CMAKE_CXX_FLAGS " -DU_SHOW_CPLUSPLUS_API=0") set(CMAKE_UNITY_BUILD FALSE) set(DISABLE_AZURE_CORE_OPENTELEMETRY TRUE) set(ENV{AZURE_SDK_DISABLE_AUTO_VCPKG} TRUE) From 1a2b1a358f4a38b7a6c0b6330588016f4d94022a Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Thu, 27 Mar 2025 20:45:43 +0900 Subject: [PATCH 2/2] Add more note --- cpp/cmake_modules/ThirdpartyToolchain.cmake | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake index 1ef275ebb28..1259b9453a5 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -5512,6 +5512,9 @@ function(build_azure_sdk) set(BUILD_WINDOWS_UWP TRUE) # ICU 75.1 or later requires C++17 but Azure SDK for C++ still uses # C++14. So we disable C++ API in ICU. + # + # We can remove this after + # https://github.com/Azure/azure-sdk-for-cpp/pull/6486 is merged. string(APPEND CMAKE_CXX_FLAGS " -DU_SHOW_CPLUSPLUS_API=0") set(CMAKE_UNITY_BUILD FALSE) set(DISABLE_AZURE_CORE_OPENTELEMETRY TRUE)