jorisvandenbossche commented on code in PR #41500:
URL: https://github.com/apache/arrow/pull/41500#discussion_r1600372517


##########
docs/source/developers/python.rst:
##########
@@ -302,53 +302,15 @@ created above (stored in ``$ARROW_HOME``):
 
 .. code-block::
 
-   $ mkdir arrow/cpp/build
-   $ pushd arrow/cpp/build
-   $ cmake -DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
-           -DCMAKE_INSTALL_LIBDIR=lib \
-           -DCMAKE_BUILD_TYPE=Debug \
-           -DARROW_BUILD_TESTS=ON \
-           -DARROW_COMPUTE=ON \
-           -DARROW_CSV=ON \
-           -DARROW_DATASET=ON \
-           -DARROW_FILESYSTEM=ON \
-           -DARROW_HDFS=ON \
-           -DARROW_JSON=ON \
-           -DARROW_PARQUET=ON \
-           -DARROW_WITH_BROTLI=ON \
-           -DARROW_WITH_BZ2=ON \
-           -DARROW_WITH_LZ4=ON \
-           -DARROW_WITH_SNAPPY=ON \
-           -DARROW_WITH_ZLIB=ON \
-           -DARROW_WITH_ZSTD=ON \
-           -DPARQUET_REQUIRE_ENCRYPTION=ON \
-           ..
-   $ make -j4
-   $ make install
-   $ popd

Review Comment:
   I would prefer to keep a version of this, and mention it as an alternative 
for the cmake presets. It gives more flexibility compared to the presets, and 
personally I still use a customized version of this to only build what I need



##########
docs/source/developers/python.rst:
##########
@@ -302,53 +302,15 @@ created above (stored in ``$ARROW_HOME``):
 
 .. code-block::
 
-   $ mkdir arrow/cpp/build
-   $ pushd arrow/cpp/build
-   $ cmake -DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
-           -DCMAKE_INSTALL_LIBDIR=lib \
-           -DCMAKE_BUILD_TYPE=Debug \
-           -DARROW_BUILD_TESTS=ON \
-           -DARROW_COMPUTE=ON \
-           -DARROW_CSV=ON \
-           -DARROW_DATASET=ON \
-           -DARROW_FILESYSTEM=ON \
-           -DARROW_HDFS=ON \
-           -DARROW_JSON=ON \
-           -DARROW_PARQUET=ON \
-           -DARROW_WITH_BROTLI=ON \
-           -DARROW_WITH_BZ2=ON \
-           -DARROW_WITH_LZ4=ON \
-           -DARROW_WITH_SNAPPY=ON \
-           -DARROW_WITH_ZLIB=ON \
-           -DARROW_WITH_ZSTD=ON \
-           -DPARQUET_REQUIRE_ENCRYPTION=ON \
-           ..
-   $ make -j4
-   $ make install
-   $ popd
-
-There are a number of optional components that can be switched ON by
-adding flags with ``ON``:
-
-* ``ARROW_CUDA``: Support for CUDA-enabled GPUs
-* ``ARROW_DATASET``: Support for Apache Arrow Dataset
-* ``ARROW_FLIGHT``: Flight RPC framework
-* ``ARROW_GANDIVA``: LLVM-based expression compiler
-* ``ARROW_ORC``: Support for Apache ORC file format
-* ``ARROW_PARQUET``: Support for Apache Parquet file format
-* ``PARQUET_REQUIRE_ENCRYPTION``: Support for Parquet Modular Encryption
-
-Anything set to ``ON`` above can also be turned off. Note that some compression
-libraries are recommended for full Parquet support.
-
-You may choose between different kinds of C++ build types:
-
-* ``-DCMAKE_BUILD_TYPE=Release`` (the default) produces a build with 
optimizations
-  enabled and debugging information disabled;
-* ``-DCMAKE_BUILD_TYPE=Debug`` produces a build with optimizations
-  disabled and debugging information enabled;
-* ``-DCMAKE_BUILD_TYPE=RelWithDebInfo`` produces a build with both 
optimizations
-  and debugging information enabled.
+   $ cmake -S arrow/cpp -B arrow/cpp/build --preset ninja-release-python

Review Comment:
   Should this still include `-DCMAKE_INSTALL_PREFIX=$ARROW_HOME`, since that 
is here originally, but that is not included in the preset AFAIK?



##########
docs/source/developers/python.rst:
##########
@@ -302,53 +302,15 @@ created above (stored in ``$ARROW_HOME``):
 
 .. code-block::
 
-   $ mkdir arrow/cpp/build
-   $ pushd arrow/cpp/build
-   $ cmake -DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
-           -DCMAKE_INSTALL_LIBDIR=lib \
-           -DCMAKE_BUILD_TYPE=Debug \
-           -DARROW_BUILD_TESTS=ON \
-           -DARROW_COMPUTE=ON \
-           -DARROW_CSV=ON \
-           -DARROW_DATASET=ON \
-           -DARROW_FILESYSTEM=ON \
-           -DARROW_HDFS=ON \
-           -DARROW_JSON=ON \
-           -DARROW_PARQUET=ON \
-           -DARROW_WITH_BROTLI=ON \
-           -DARROW_WITH_BZ2=ON \
-           -DARROW_WITH_LZ4=ON \
-           -DARROW_WITH_SNAPPY=ON \
-           -DARROW_WITH_ZLIB=ON \
-           -DARROW_WITH_ZSTD=ON \
-           -DPARQUET_REQUIRE_ENCRYPTION=ON \
-           ..
-   $ make -j4
-   $ make install
-   $ popd
-
-There are a number of optional components that can be switched ON by
-adding flags with ``ON``:
-
-* ``ARROW_CUDA``: Support for CUDA-enabled GPUs
-* ``ARROW_DATASET``: Support for Apache Arrow Dataset
-* ``ARROW_FLIGHT``: Flight RPC framework
-* ``ARROW_GANDIVA``: LLVM-based expression compiler
-* ``ARROW_ORC``: Support for Apache ORC file format
-* ``ARROW_PARQUET``: Support for Apache Parquet file format
-* ``PARQUET_REQUIRE_ENCRYPTION``: Support for Parquet Modular Encryption
-
-Anything set to ``ON`` above can also be turned off. Note that some compression
-libraries are recommended for full Parquet support.
-
-You may choose between different kinds of C++ build types:
-
-* ``-DCMAKE_BUILD_TYPE=Release`` (the default) produces a build with 
optimizations
-  enabled and debugging information disabled;
-* ``-DCMAKE_BUILD_TYPE=Debug`` produces a build with optimizations
-  disabled and debugging information enabled;
-* ``-DCMAKE_BUILD_TYPE=RelWithDebInfo`` produces a build with both 
optimizations
-  and debugging information enabled.
+   $ cmake -S arrow/cpp -B arrow/cpp/build --preset ninja-release-python
+   $ cmake --build arrow/cpp/build --target install

Review Comment:
   +1 on using more modern `cmake` calls instead of the current `make` ones!



##########
docs/source/developers/python.rst:
##########
@@ -302,53 +302,15 @@ created above (stored in ``$ARROW_HOME``):
 
 .. code-block::
 
-   $ mkdir arrow/cpp/build
-   $ pushd arrow/cpp/build
-   $ cmake -DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
-           -DCMAKE_INSTALL_LIBDIR=lib \
-           -DCMAKE_BUILD_TYPE=Debug \
-           -DARROW_BUILD_TESTS=ON \
-           -DARROW_COMPUTE=ON \
-           -DARROW_CSV=ON \
-           -DARROW_DATASET=ON \
-           -DARROW_FILESYSTEM=ON \
-           -DARROW_HDFS=ON \
-           -DARROW_JSON=ON \
-           -DARROW_PARQUET=ON \
-           -DARROW_WITH_BROTLI=ON \
-           -DARROW_WITH_BZ2=ON \
-           -DARROW_WITH_LZ4=ON \
-           -DARROW_WITH_SNAPPY=ON \
-           -DARROW_WITH_ZLIB=ON \
-           -DARROW_WITH_ZSTD=ON \
-           -DPARQUET_REQUIRE_ENCRYPTION=ON \
-           ..
-   $ make -j4
-   $ make install
-   $ popd
-
-There are a number of optional components that can be switched ON by
-adding flags with ``ON``:
-
-* ``ARROW_CUDA``: Support for CUDA-enabled GPUs
-* ``ARROW_DATASET``: Support for Apache Arrow Dataset
-* ``ARROW_FLIGHT``: Flight RPC framework
-* ``ARROW_GANDIVA``: LLVM-based expression compiler
-* ``ARROW_ORC``: Support for Apache ORC file format
-* ``ARROW_PARQUET``: Support for Apache Parquet file format
-* ``PARQUET_REQUIRE_ENCRYPTION``: Support for Parquet Modular Encryption
-
-Anything set to ``ON`` above can also be turned off. Note that some compression
-libraries are recommended for full Parquet support.
-
-You may choose between different kinds of C++ build types:
-
-* ``-DCMAKE_BUILD_TYPE=Release`` (the default) produces a build with 
optimizations
-  enabled and debugging information disabled;
-* ``-DCMAKE_BUILD_TYPE=Debug`` produces a build with optimizations
-  disabled and debugging information enabled;
-* ``-DCMAKE_BUILD_TYPE=RelWithDebInfo`` produces a build with both 
optimizations
-  and debugging information enabled.
+   $ cmake -S arrow/cpp -B arrow/cpp/build --preset ninja-release-python
+   $ cmake --build arrow/cpp/build --target install
+
+``ninja-release-python`` is not the only preset available - if you would like a
+build with more features like CUDA, Flight and Gandiva support you may opt for
+the ``ninja-release-python-maximal`` preset. If you wanted less features, (i.e
+removing ORC and dataset support) you could opt for
+``ninja-release-python-minimal``. Changing the word ``release`` to ``debug``
+with any of the aforementioned presets will generated a debug build of Arrow.

Review Comment:
   ```suggestion
   with any of the aforementioned presets will generate a debug build of Arrow.
   ```



##########
docs/source/developers/python.rst:
##########
@@ -302,53 +302,15 @@ created above (stored in ``$ARROW_HOME``):
 
 .. code-block::
 
-   $ mkdir arrow/cpp/build
-   $ pushd arrow/cpp/build
-   $ cmake -DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
-           -DCMAKE_INSTALL_LIBDIR=lib \
-           -DCMAKE_BUILD_TYPE=Debug \
-           -DARROW_BUILD_TESTS=ON \
-           -DARROW_COMPUTE=ON \
-           -DARROW_CSV=ON \
-           -DARROW_DATASET=ON \
-           -DARROW_FILESYSTEM=ON \
-           -DARROW_HDFS=ON \
-           -DARROW_JSON=ON \
-           -DARROW_PARQUET=ON \
-           -DARROW_WITH_BROTLI=ON \
-           -DARROW_WITH_BZ2=ON \
-           -DARROW_WITH_LZ4=ON \
-           -DARROW_WITH_SNAPPY=ON \
-           -DARROW_WITH_ZLIB=ON \
-           -DARROW_WITH_ZSTD=ON \
-           -DPARQUET_REQUIRE_ENCRYPTION=ON \
-           ..
-   $ make -j4
-   $ make install
-   $ popd

Review Comment:
   (of course you can still find explanation about this in the C++ development 
section, but I have always found this one an easier example snippet)



##########
docs/source/developers/python.rst:
##########
@@ -302,53 +302,15 @@ created above (stored in ``$ARROW_HOME``):
 
 .. code-block::
 
-   $ mkdir arrow/cpp/build
-   $ pushd arrow/cpp/build
-   $ cmake -DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
-           -DCMAKE_INSTALL_LIBDIR=lib \
-           -DCMAKE_BUILD_TYPE=Debug \
-           -DARROW_BUILD_TESTS=ON \
-           -DARROW_COMPUTE=ON \
-           -DARROW_CSV=ON \
-           -DARROW_DATASET=ON \
-           -DARROW_FILESYSTEM=ON \
-           -DARROW_HDFS=ON \
-           -DARROW_JSON=ON \
-           -DARROW_PARQUET=ON \
-           -DARROW_WITH_BROTLI=ON \
-           -DARROW_WITH_BZ2=ON \
-           -DARROW_WITH_LZ4=ON \
-           -DARROW_WITH_SNAPPY=ON \
-           -DARROW_WITH_ZLIB=ON \
-           -DARROW_WITH_ZSTD=ON \
-           -DPARQUET_REQUIRE_ENCRYPTION=ON \
-           ..
-   $ make -j4
-   $ make install
-   $ popd
-
-There are a number of optional components that can be switched ON by
-adding flags with ``ON``:
-
-* ``ARROW_CUDA``: Support for CUDA-enabled GPUs
-* ``ARROW_DATASET``: Support for Apache Arrow Dataset
-* ``ARROW_FLIGHT``: Flight RPC framework
-* ``ARROW_GANDIVA``: LLVM-based expression compiler
-* ``ARROW_ORC``: Support for Apache ORC file format
-* ``ARROW_PARQUET``: Support for Apache Parquet file format
-* ``PARQUET_REQUIRE_ENCRYPTION``: Support for Parquet Modular Encryption
-
-Anything set to ``ON`` above can also be turned off. Note that some compression
-libraries are recommended for full Parquet support.
-
-You may choose between different kinds of C++ build types:
-
-* ``-DCMAKE_BUILD_TYPE=Release`` (the default) produces a build with 
optimizations
-  enabled and debugging information disabled;
-* ``-DCMAKE_BUILD_TYPE=Debug`` produces a build with optimizations
-  disabled and debugging information enabled;
-* ``-DCMAKE_BUILD_TYPE=RelWithDebInfo`` produces a build with both 
optimizations
-  and debugging information enabled.
+   $ cmake -S arrow/cpp -B arrow/cpp/build --preset ninja-release-python

Review Comment:
   Also `-DCMAKE_INSTALL_LIBDIR=lib` is in the original example, while not in 
the preset. Not sure if that needs to be kept as well?



##########
docs/source/developers/python.rst:
##########
@@ -302,53 +302,15 @@ created above (stored in ``$ARROW_HOME``):
 
 .. code-block::
 
-   $ mkdir arrow/cpp/build
-   $ pushd arrow/cpp/build
-   $ cmake -DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
-           -DCMAKE_INSTALL_LIBDIR=lib \
-           -DCMAKE_BUILD_TYPE=Debug \
-           -DARROW_BUILD_TESTS=ON \
-           -DARROW_COMPUTE=ON \
-           -DARROW_CSV=ON \
-           -DARROW_DATASET=ON \
-           -DARROW_FILESYSTEM=ON \
-           -DARROW_HDFS=ON \
-           -DARROW_JSON=ON \
-           -DARROW_PARQUET=ON \
-           -DARROW_WITH_BROTLI=ON \
-           -DARROW_WITH_BZ2=ON \
-           -DARROW_WITH_LZ4=ON \
-           -DARROW_WITH_SNAPPY=ON \
-           -DARROW_WITH_ZLIB=ON \
-           -DARROW_WITH_ZSTD=ON \
-           -DPARQUET_REQUIRE_ENCRYPTION=ON \
-           ..
-   $ make -j4
-   $ make install
-   $ popd
-
-There are a number of optional components that can be switched ON by
-adding flags with ``ON``:
-
-* ``ARROW_CUDA``: Support for CUDA-enabled GPUs
-* ``ARROW_DATASET``: Support for Apache Arrow Dataset
-* ``ARROW_FLIGHT``: Flight RPC framework
-* ``ARROW_GANDIVA``: LLVM-based expression compiler
-* ``ARROW_ORC``: Support for Apache ORC file format
-* ``ARROW_PARQUET``: Support for Apache Parquet file format
-* ``PARQUET_REQUIRE_ENCRYPTION``: Support for Parquet Modular Encryption
-
-Anything set to ``ON`` above can also be turned off. Note that some compression
-libraries are recommended for full Parquet support.
-
-You may choose between different kinds of C++ build types:
-
-* ``-DCMAKE_BUILD_TYPE=Release`` (the default) produces a build with 
optimizations
-  enabled and debugging information disabled;
-* ``-DCMAKE_BUILD_TYPE=Debug`` produces a build with optimizations
-  disabled and debugging information enabled;
-* ``-DCMAKE_BUILD_TYPE=RelWithDebInfo`` produces a build with both 
optimizations
-  and debugging information enabled.
+   $ cmake -S arrow/cpp -B arrow/cpp/build --preset ninja-release-python
+   $ cmake --build arrow/cpp/build --target install
+
+``ninja-release-python`` is not the only preset available - if you would like a
+build with more features like CUDA, Flight and Gandiva support you may opt for
+the ``ninja-release-python-maximal`` preset. If you wanted less features, (i.e

Review Comment:
   ```suggestion
   the ``ninja-release-python-maximal`` preset. If you wanted less features, 
(i.e.
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to