-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Dev] Refactor custom cmake functions into proper modules #26764
Comments
I do plan to get around to redoing the CMake code for adbc in the future...but if we're going to refactor then we may as well keep a common config |
I want to do it but I want to keep using apache/arrow repository. If we use separated repository for CMake, it will annoy apache/arrow developers. BTW, I think that most of apache/arrow's custom CMake functionality can be simplified with recent CMake. I think that we should do it as the first step. (I'm working on this incrementally.) Some features may not need to use custom CMake functionality with recent CMake because recent CMake may provide the same functionality as built-in functionality. I'm working on CMake codes in It seems that apache/arrow-nanoarrow doesn't need to use apache/arrow's CMake functionality: https://github.com/apache/arrow-nanoarrow/blob/main/CMakeLists.txt |
Sounds good, as you mentioned in another issue, with the EOL of ubuntu 18.04 in April we can use 3.16 as a minimum version. It makes sense to work on that for 12.0.0 or probably more likely 13.0.0 I'd be happy to coordinate with you on that @kou (I have been doing a lot of cmake work for velox recently using 3.15+, e.g. building boost with fetchcontent and cmake instead of b2) |
Thanks! It's very helpful!
Great! I didn't know that Boost supports CMake! |
Describe the enhancement requested
Arrow has some great custom cmake functionality (e.g. helper functions for option handling and pretty printing, build utils...) and it seems that adbc and nanoarrow are already copying some of that into their own repos.
I think it would make sense to refactor the functions into proper modules (maybe into an arrow-cmake repo?) ideally with testing (as much as that is possible with cmake...). That way other arrow subprojects and other projects in general could use these functions in a clean way via submodules or even FetchContent.
What do you think @kou @raulcd
Component(s)
Developer Tools
The text was updated successfully, but these errors were encountered: