-
Notifications
You must be signed in to change notification settings - Fork 4k
Closed
Closed
[C++] CMake error when Arrow is built as subproject: ARROW_SIMD_LEVEL undefined in io/CMakeLists.txt#49164
Task
Copy link
Description
Describe the enhancement requested
Summary
When Arrow is added as a subproject (FetchContent + SOURCE_SUBDIR cpp), CMake configuration fails in
cpp/src/arrow/io/CMakeLists.txt:48. The if() uses ${ARROW_SIMD_LEVEL} and crashes if the
variable is undefined, which happens because ARROW_DEFINE_OPTIONS defaults to OFF for subprojects.
Repro
Minimal CMakeLists.txt:
cmake_minimum_required(VERSION 3.20)
project(bundled-arrow-example LANGUAGES CXX)
include(FetchContent)
set(ARROW_BUILD_SHARED OFF CACHE BOOL "" FORCE)
set(ARROW_BUILD_STATIC ON CACHE BOOL "" FORCE)
set(ARROW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(ARROW_BUILD_UTILITIES OFF CACHE BOOL "" FORCE)
set(ARROW_COMPUTE OFF CACHE BOOL "" FORCE)
set(ARROW_ACERO OFF CACHE BOOL "" FORCE)
set(ARROW_DATASET OFF CACHE BOOL "" FORCE)
set(ARROW_IPC OFF CACHE BOOL "" FORCE)
set(ARROW_PARQUET OFF CACHE BOOL "" FORCE)
set(ARROW_VERSION "23.0.0")
FetchContent_Declare(
arrow
URL https://github.com/apache/arrow/archive/refs/tags/apache-arrow-${ARROW_VERSION}.tar.gz
SOURCE_SUBDIR cpp
)
FetchContent_MakeAvailable(arrow)
Configure:
cmake -S . -B build
CMake fails with:
CMake Error at build/_deps/arrow-src/cpp/src/arrow/io/CMakeLists.txt:48 (if):
if given arguments:
"NOT" "(" "STREQUAL" "NONE" ")" "AND" "NOT" "(" "STREQUAL" "NEON" ")"
Unknown arguments specified
Component(s)
C++
Reactions are currently unavailable