You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by "KyleFromNVIDIA (via GitHub)" <gi...@apache.org> on 2026/05/20 13:30:09 UTC

Re: [I] [C++] Address "Compatibility with CMake < 3.5 has been removed" error [arrow]

KyleFromNVIDIA commented on issue #48801:
URL: https://github.com/apache/arrow/issues/48801#issuecomment-4498889561

   Here's how one can quickly reproduce the error with an Arrow build:
   
   git clone https://github.com/apache/arrow.git
   mkdir arrow/cpp/build
   cd arrow/cpp/build
   cmake .. -G Ninja -DARROW_WITH_RAPIDJSON=ON
   cmake --build .
   cmake .
   
   Notice the second configure step at the end. In the first configure, Arrow downloads and unzips RapidJSON, and on the first build, it builds it. In the second configure, find_package(RapidJSON) "finds" the RapidJSON that was just built. The config file that it finds has the cmake_minimum_required(), thus triggering the error.
   
   I think the real bug is that Arrow should be using FetchContent rather than ExternalProject, which would result in this mistaken find step not happening. However, there's still a chance that it could find a RapidJSONConfig.cmake elsewhere with the cmake_minimum_required(), so I still think https://github.com/apache/arrow/pull/49993 is worth doing regardless. The misuse of ExternalProject and the policy version are orthogonal issues that can be solved independently of each other.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org