Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-6585

[C++] Create "ARROW_LIBRARIES" argument to pass list of desired components to build

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • C++
    • 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

      Attachments

        Activity

          People

            Unassigned Unassigned
            wesm Wes McKinney
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated: