WillAyd commented on issue #36411: URL: https://github.com/apache/arrow/issues/36411#issuecomment-2724942266
Thanks for all of the questions. > Also, how well-maintained and flexible are our Meson configuration files, compared to CMake? Which one is easier to work with? The Meson configuration files are pretty new, and need more development to be feature complete with CMake. Regarding the ease to work with, that's is of course subjective, but I would guess that the average Python developer would find Meson easier to work with than CMake, given the syntax similarity > Is anyone ensuring that the Meson build files are up-to-date when the CMake files change? Not yet > Are they compatible with anything else than gcc/clang? Yes Meson can be used by MSVC, Cygwin, and most other popular development tools that I know of. The main knock on the development requirements of Meson is that it requires Python. If that is or becomes a limiting factor for Arrow, there are alternative Meson implementations in other languages (muon is the most famous one I am aware of) > We don't need _two_ build systems in the source tree. I was (perhaps naively) thinking that this could be the status quo for a while. This is what we are doing in arrow-adbc and nanoarrow (granted those are much simpler projects). > Unless someone is specifically willing to maintain the Meson files so that others don't have to care. I am happy to volunteer for this for the time being > is Meson able to generate CMake configuration files for downstream projects? I am not aware of Meson being able to generate CMake configuration files. It looks like Meson projects could be included via `ExternalProject` but not `FetchContent` (at least according to this [CMake discussion](https://discourse.cmake.org/t/include-meson-project-with-cmake-fetchcontent/3985)) For transparency, I am not expert enough in CMake to enumerate all of the differences that would entail > an Arrow C++ install should be discoverable using CMake. In addition to my comments above, Meson can easily produce pkg-config files for installation discovery Hope that helps. @kou may be able to offer additional expertise on the topic, and @paleolimbot has a good deal of experience managing a Meson configuration side-by-side with CMake in arrow-nanoarrow -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
