From c9dc0da3f6144f46e6eeea0b91f7ce487ad54019 Mon Sep 17 00:00:00 2001 From: wangzengliang Date: Mon, 15 Jan 2024 16:25:45 +0800 Subject: [PATCH] modify xsimd source to local and set cxx 17 for arrow Signed-off-by: wangzengliang --- src/arrow/cpp/CMakeLists.txt | 2 ++ src/arrow/cpp/cmake_modules/ThirdpartyToolchain.cmake | 2 +- src/arrow/cpp/src/arrow/compute/kernels/scalar_string.cc | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/arrow/cpp/CMakeLists.txt b/src/arrow/cpp/CMakeLists.txt index 65b9d96b2..f19765e0f 100644 --- a/src/arrow/cpp/CMakeLists.txt +++ b/src/arrow/cpp/CMakeLists.txt @@ -17,6 +17,8 @@ cmake_minimum_required(VERSION 3.5) message(STATUS "Building using CMake version: ${CMAKE_VERSION}") +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_STANDARD 17) # Compiler id for Apple Clang is now AppleClang. # https://www.cmake.org/cmake/help/latest/policy/CMP0025.html diff --git a/src/arrow/cpp/cmake_modules/ThirdpartyToolchain.cmake b/src/arrow/cpp/cmake_modules/ThirdpartyToolchain.cmake index a793f3046..1258f3a06 100644 --- a/src/arrow/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/src/arrow/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -619,7 +619,7 @@ if(DEFINED ENV{ARROW_XSIMD_URL}) set(XSIMD_SOURCE_URL "$ENV{ARROW_XSIMD_URL}") else() set_urls(XSIMD_SOURCE_URL - "https://github.com/xtensor-stack/xsimd/archive/${ARROW_XSIMD_BUILD_VERSION}.tar.gz" + "https://gitee.com/src-openeuler/ceph/raw/master/${ARROW_XSIMD_BUILD_VERSION}.tar.gz" ) endif() diff --git a/src/arrow/cpp/src/arrow/compute/kernels/scalar_string.cc b/src/arrow/cpp/src/arrow/compute/kernels/scalar_string.cc index 11562b06d..4428b0d85 100644 --- a/src/arrow/cpp/src/arrow/compute/kernels/scalar_string.cc +++ b/src/arrow/cpp/src/arrow/compute/kernels/scalar_string.cc @@ -3012,7 +3012,7 @@ struct ExtractRegex : public ExtractRegexBase { result->value.reserve(group_count); for (int i = 0; i < group_count; i++) { result->value.push_back( - std::make_shared(found_values[i].as_string())); + std::make_shared(std::string(found_values[i]))); } result->is_valid = true; } else { -- 2.27.0