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] [Updated] (ARROW-6585) [C++] Create "ARROW_LIBRARIES" argument to pass list of desired components to build

     [ https://issues.apache.org/jira/browse/ARROW-6585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Wes McKinney updated ARROW-6585:
--------------------------------
    Summary: [C++] Create "ARROW_LIBRARIES"  argument to pass list of desired components to build  (was: [C++] Create "ARROW_COMPONENTS"  argument to pass list of desired components to build)

> [C++] Create "ARROW_LIBRARIES"  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
>            Priority: Major
>
> 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)