You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Wes McKinney (Jira)" <ji...@apache.org> on 2019/09/17 18:18:00 UTC

[jira] [Created] (ARROW-6585) [C++] Create "ARROW_COMPONENTS" argument to pass list of desired components to build

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)