Skip to content

Commit

Permalink
apacheGH-34638: [C++][Docs] Add documentation for minimal build flags (
Browse files Browse the repository at this point in the history
…apache#34693)

### Rationale for this change

There's an ongoing effort to support smaller builds of Arrow C++ for simple format integration so explicitly documenting the necessary flags would be useful. Also, some recent changes to the build system may require disclosure.

### What changes are included in this PR?

Adds documentation to `cpp/building.rst` regarding:
- Minimal cmake flags for basic format support
- Recent changes to `ARROW_COMPUTE` and how compute kernels are included in builds.

### Are these changes tested?

N/A

### Are there any user-facing changes?

N/A
* Closes: apache#34638

Authored-by: benibus <[email protected]>
Signed-off-by: Weston Pace <[email protected]>
  • Loading branch information
benibus authored Mar 24, 2023
1 parent 071ea1b commit e7d6c13
Showing 1 changed file with 14 additions and 1 deletion.
15 changes: 14 additions & 1 deletion docs/source/developers/cpp/building.rst
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,7 @@ several optional system components which you can opt into building by passing
boolean flags to ``cmake``.

* ``-DARROW_BUILD_UTILITIES=ON`` : Build Arrow commandline utilities
* ``-DARROW_COMPUTE=ON``: Computational kernel functions and other support
* ``-DARROW_COMPUTE=ON``: Build all computational kernel functions
* ``-DARROW_CSV=ON``: CSV reader module
* ``-DARROW_CUDA=ON``: CUDA integration for GPU development. Depends on NVIDIA
CUDA toolkit. The CUDA toolchain used to build the library can be customized
Expand Down Expand Up @@ -369,6 +369,19 @@ build times if they are not required for your application:

* ``-DARROW_IPC=ON``: build the IPC extensions

.. note::
If your use-case is limited to reading/writing Arrow data then the default
options should be sufficient. However, if you wish to build any tests/benchmarks
then ``ARROW_JSON`` is also required (it will be enabled automatically).
If extended format support is desired then adding ``ARROW_PARQUET``, ``ARROW_CSV``,
``ARROW_JSON``, or ``ARROW_ORC`` shouldn't enable any additional components.

.. note::
In general, it's a good idea to enable ``ARROW_COMPUTE`` if you anticipate using
any compute kernels beyond ``cast``. While there are (as of 12.0.0) a handful of
additional kernels built in by default, this list may change in the future as it's
partly based on kernel usage in the current format implementations.

.. warning::
Plasma is deprecated as of Arrow 10.0.0, and will be removed in 12.0.0 or so.

Expand Down

0 comments on commit e7d6c13

Please sign in to comment.