Wes McKinney created ARROW-6585:
-----------------------------------

             Summary: [C++] Create "ARROW_COMPONENTS"  argument to pass list of 
desired components to build
                 Key: ARROW-6585
                 URL: https://issues.apache.org/jira/browse/ARROW-6585
             Project: Apache Arrow
          Issue Type: Improvement
          Components: C++
            Reporter: Wes McKinney


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

{code}
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()
{code}

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



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to