Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
Our current DARROW_* flag system strikes me as a little bit tedious. When invoking Boost's build system, you can pass the argument -with-libraries=filesystem,regex,system to indicate which components you want to see built.
I think we should do a couple of things declare all component dependencies in a central place. Presently we have many "if" statements toggling on dependencies on an ad hoc basis. The code looks like this
if(ARROW_FLIGHT OR ARROW_PARQUET OR ARROW_BUILD_TESTS) set(ARROW_IPC ON) endif() if(ARROW_IPC AND NOT ARROW_JSON) message(FATAL_ERROR "JSON support is required for Arrow IPC") endif()
I don't think this is going to be scalable.
Secondly, I think we should make it easier to ask for a comprehensive build. E.g. -DARROW_LIBRARIES=everything or similar