Skip to content

[C++] Compilation error xsimd/xsimd.hpp no such file or directory #50222

@semen-nazarenko83

Description

@semen-nazarenko83

Describe the bug, including details regarding any error messages, version, and platform.

When included into another project via FetchContent_Declare() Apache Arrow produces error:
xsimd/xsimd.hpp: No such file or directory
Investigation showed that xsimd dependency in Apache Arrow is processed incorrectly. Here is the patch which fixes the error:

diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake
index bcbf2e4645..c837899400 100644
--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
@@ -2834,7 +2834,8 @@ macro(build_xsimd)
                       URL_HASH "SHA256=${ARROW_XSIMD_BUILD_SHA256_CHECKSUM}"
                       CMAKE_ARGS ${XSIMD_CMAKE_ARGS})
 
-  set(XSIMD_INCLUDE_DIR "${XSIMD_PREFIX}/include")
+  ExternalProject_Get_Property(xsimd_ep SOURCE_DIR)
+  set(XSIMD_INCLUDE_DIR "${SOURCE_DIR}/include")
   # The include directory must exist before it is referenced by a target.
   file(MAKE_DIRECTORY "${XSIMD_INCLUDE_DIR}")

Component(s)

C++

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions