Skip to content

GH-50222: [C++] Use FetchContent for xsimd#50303

Open
AntoinePrv wants to merge 1 commit into
apache:mainfrom
AntoinePrv:fetchcontent-xsimd
Open

GH-50222: [C++] Use FetchContent for xsimd#50303
AntoinePrv wants to merge 1 commit into
apache:mainfrom
AntoinePrv:fetchcontent-xsimd

Conversation

@AntoinePrv

@AntoinePrv AntoinePrv commented Jun 30, 2026

Copy link
Copy Markdown
Collaborator

Rationale for this change

FetchContent suggested as better approach in GH-45303.

What changes are included in this PR?

Use FetchContent for xsimd and solve a bug where xsimd is not available at configure time.

Are these changes tested?

Yes, locally.

Are there any user-facing changes?

No.

Copilot AI review requested due to automatic review settings June 30, 2026 09:46
@github-actions

Copy link
Copy Markdown

⚠️ GitHub issue #50222 has been automatically assigned in GitHub to PR creator.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates Arrow C++’s third-party toolchain to vendor xsimd via CMake FetchContent, addressing cases where Arrow itself is consumed via FetchContent and xsimd headers need to be available during configuration.

Changes:

  • Replaces the previous ExternalProject_Add()-based xsimd build with FetchContent (fetchcontent_declare / fetchcontent_makeavailable).
  • Introduces an arrow::xsimd imported INTERFACE target that points at the fetched source include directory.
  • Converts build_xsimd from a macro to a function and propagates key variables to the parent scope.

Comment thread cpp/cmake_modules/ThirdpartyToolchain.cmake
@AntoinePrv AntoinePrv force-pushed the fetchcontent-xsimd branch from d2a08ea to fd44d07 Compare June 30, 2026 10:10
@raulcd raulcd added the CI: Extra: C++ Run extra C++ CI label Jun 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants