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]

Reply via email to