You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2022/02/09 22:20:39 UTC

[GitHub] [arrow] kevingurney opened a new pull request #12389: ARROW-13204: [MATLAB] Update documentation for the MATLAB Interface to reflect latest CMake build system changes

kevingurney opened a new pull request #12389:
URL: https://github.com/apache/arrow/pull/12389


   # Overview
   
   This pull request:
   
   1. Updates the high level documentation for the MATLAB interface in `arrow/matlab/README.md` to reflect the latest CMake build system changes that were merged upstream as part of [#12004](https://github.com/apache/arrow/pull/12004).
   
   # Implementation
   
   1. Restructured the `README.md` to focus on the most common build and test workflows for the MATLAB interface.
   
   # Testing
   
   N/A
   
   # Future Directions
   
   1. To be consistent and in-model with the other language bindings (e.g. Python, R, C++, etc.) - we plan to author in-depth technical documentation over time under [`arrow/docs/source/matlab`](https://github.com/apache/arrow/tree/master/docs/source) using the [reStructedText (.rst) format](https://docutils.sourceforge.io/rst.html). The thought behind this `README.md` documentation is to provide a convenient "landing page" for the MATLAB interface which allows end users to quickly get a sense of where the project is at and to get started immediately with building and running the interface. However, every user and developer will have different use cases and needs for working with the MATLAB interface, so we will also want include in-depth documentation for major topics like building, installing, testing, contributing, usage, etc. As the MATLAB interface continues to develop, we will do our best to keep the documentation in sync with the source code.
   
   # Notes
   
   1. Thank you to @lafiona for her help writing this updated documentation!


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] kou closed pull request #12389: ARROW-13204: [MATLAB] Update documentation for the MATLAB Interface to reflect latest CMake build system changes

Posted by GitBox <gi...@apache.org>.
kou closed pull request #12389:
URL: https://github.com/apache/arrow/pull/12389


   


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] ursabot edited a comment on pull request #12389: ARROW-13204: [MATLAB] Update documentation for the MATLAB Interface to reflect latest CMake build system changes

Posted by GitBox <gi...@apache.org>.
ursabot edited a comment on pull request #12389:
URL: https://github.com/apache/arrow/pull/12389#issuecomment-1034428886


   Benchmark runs are scheduled for baseline = 401746bede014cf3d06a88930c282755f151a93b and contender = e4f658761ffec9a69fe1b3ab5e2b01b27a87493c. e4f658761ffec9a69fe1b3ab5e2b01b27a87493c is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
   Conbench compare runs links:
   [Finished :arrow_down:0.0% :arrow_up:0.0%] [ec2-t3-xlarge-us-east-2](https://conbench.ursa.dev/compare/runs/8976ad62696e48ae9aa7157f22968ce6...063460c922654baa9a44ea25d3baa96f/)
   [Finished :arrow_down:0.47% :arrow_up:0.0%] [test-mac-arm](https://conbench.ursa.dev/compare/runs/1dc37a2cf3fa4d47921635a05bf8231f...f2121e5e2d614fdd989d281ff7b6d4e5/)
   [Scheduled] [ursa-i9-9960x](https://conbench.ursa.dev/compare/runs/b3907fcd83144ec98d45ab5d6ab1cb9d...d775332205974dc789fac55f5b402e0e/)
   [Finished :arrow_down:0.22% :arrow_up:0.0%] [ursa-thinkcentre-m75q](https://conbench.ursa.dev/compare/runs/9f0fb694951d401db480e4eb55beca93...2759033c429d4d4e84868e6c5faed7f5/)
   Supported benchmarks:
   ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python. Runs only benchmarks with cloud = True
   test-mac-arm: Supported benchmark langs: C++, Python, R
   ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
   ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java
   


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] ursabot edited a comment on pull request #12389: ARROW-13204: [MATLAB] Update documentation for the MATLAB Interface to reflect latest CMake build system changes

Posted by GitBox <gi...@apache.org>.
ursabot edited a comment on pull request #12389:
URL: https://github.com/apache/arrow/pull/12389#issuecomment-1034428886


   Benchmark runs are scheduled for baseline = 401746bede014cf3d06a88930c282755f151a93b and contender = e4f658761ffec9a69fe1b3ab5e2b01b27a87493c. e4f658761ffec9a69fe1b3ab5e2b01b27a87493c is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
   Conbench compare runs links:
   [Finished :arrow_down:0.0% :arrow_up:0.0%] [ec2-t3-xlarge-us-east-2](https://conbench.ursa.dev/compare/runs/8976ad62696e48ae9aa7157f22968ce6...063460c922654baa9a44ea25d3baa96f/)
   [Finished :arrow_down:0.47% :arrow_up:0.0%] [test-mac-arm](https://conbench.ursa.dev/compare/runs/1dc37a2cf3fa4d47921635a05bf8231f...f2121e5e2d614fdd989d281ff7b6d4e5/)
   [Finished :arrow_down:1.43% :arrow_up:0.0%] [ursa-i9-9960x](https://conbench.ursa.dev/compare/runs/b3907fcd83144ec98d45ab5d6ab1cb9d...d775332205974dc789fac55f5b402e0e/)
   [Finished :arrow_down:0.22% :arrow_up:0.0%] [ursa-thinkcentre-m75q](https://conbench.ursa.dev/compare/runs/9f0fb694951d401db480e4eb55beca93...2759033c429d4d4e84868e6c5faed7f5/)
   Supported benchmarks:
   ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python. Runs only benchmarks with cloud = True
   test-mac-arm: Supported benchmark langs: C++, Python, R
   ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
   ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java
   


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] ursabot edited a comment on pull request #12389: ARROW-13204: [MATLAB] Update documentation for the MATLAB Interface to reflect latest CMake build system changes

Posted by GitBox <gi...@apache.org>.
ursabot edited a comment on pull request #12389:
URL: https://github.com/apache/arrow/pull/12389#issuecomment-1034428886


   Benchmark runs are scheduled for baseline = 401746bede014cf3d06a88930c282755f151a93b and contender = e4f658761ffec9a69fe1b3ab5e2b01b27a87493c. e4f658761ffec9a69fe1b3ab5e2b01b27a87493c is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
   Conbench compare runs links:
   [Finished :arrow_down:0.0% :arrow_up:0.0%] [ec2-t3-xlarge-us-east-2](https://conbench.ursa.dev/compare/runs/8976ad62696e48ae9aa7157f22968ce6...063460c922654baa9a44ea25d3baa96f/)
   [Scheduled] [test-mac-arm](https://conbench.ursa.dev/compare/runs/1dc37a2cf3fa4d47921635a05bf8231f...f2121e5e2d614fdd989d281ff7b6d4e5/)
   [Scheduled] [ursa-i9-9960x](https://conbench.ursa.dev/compare/runs/b3907fcd83144ec98d45ab5d6ab1cb9d...d775332205974dc789fac55f5b402e0e/)
   [Scheduled] [ursa-thinkcentre-m75q](https://conbench.ursa.dev/compare/runs/9f0fb694951d401db480e4eb55beca93...2759033c429d4d4e84868e6c5faed7f5/)
   Supported benchmarks:
   ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python. Runs only benchmarks with cloud = True
   test-mac-arm: Supported benchmark langs: C++, Python, R
   ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
   ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java
   


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] ursabot edited a comment on pull request #12389: ARROW-13204: [MATLAB] Update documentation for the MATLAB Interface to reflect latest CMake build system changes

Posted by GitBox <gi...@apache.org>.
ursabot edited a comment on pull request #12389:
URL: https://github.com/apache/arrow/pull/12389#issuecomment-1034428886


   Benchmark runs are scheduled for baseline = 401746bede014cf3d06a88930c282755f151a93b and contender = e4f658761ffec9a69fe1b3ab5e2b01b27a87493c. e4f658761ffec9a69fe1b3ab5e2b01b27a87493c is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
   Conbench compare runs links:
   [Finished :arrow_down:0.0% :arrow_up:0.0%] [ec2-t3-xlarge-us-east-2](https://conbench.ursa.dev/compare/runs/8976ad62696e48ae9aa7157f22968ce6...063460c922654baa9a44ea25d3baa96f/)
   [Scheduled] [test-mac-arm](https://conbench.ursa.dev/compare/runs/1dc37a2cf3fa4d47921635a05bf8231f...f2121e5e2d614fdd989d281ff7b6d4e5/)
   [Scheduled] [ursa-i9-9960x](https://conbench.ursa.dev/compare/runs/b3907fcd83144ec98d45ab5d6ab1cb9d...d775332205974dc789fac55f5b402e0e/)
   [Finished :arrow_down:0.22% :arrow_up:0.0%] [ursa-thinkcentre-m75q](https://conbench.ursa.dev/compare/runs/9f0fb694951d401db480e4eb55beca93...2759033c429d4d4e84868e6c5faed7f5/)
   Supported benchmarks:
   ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python. Runs only benchmarks with cloud = True
   test-mac-arm: Supported benchmark langs: C++, Python, R
   ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
   ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java
   


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] kou commented on a change in pull request #12389: ARROW-13204: [MATLAB] Update documentation for the MATLAB Interface to reflect latest CMake build system changes

Posted by GitBox <gi...@apache.org>.
kou commented on a change in pull request #12389:
URL: https://github.com/apache/arrow/pull/12389#discussion_r803180258



##########
File path: matlab/README.md
##########
@@ -17,96 +17,101 @@
   under the License.
 -->
 
-## MATLAB Library for Apache Arrow
+# MATLAB Interface to Apache Arrow
 
 ## Status
 
 This is a very early stage MATLAB interface to the Apache Arrow C++ libraries.
 
-The current code only supports reading/writing numeric types from/to Feather files.
+The current code only supports reading/writing numeric types from/to Feather v1 files.
 
-## Building from source
+## Prerequisites
 
-### Get Arrow and build Arrow CPP
+To build the MATLAB Interface to Apache Arrow from source, the following software must be installed on the target machine:
 
-See: [Arrow CPP README](../cpp/README.md)
+1. [MATLAB](https://www.mathworks.com/products/get-matlab.html)
+2. [CMake](https://cmake.org/cmake/help/latest/)
+3. C++ compiler which supports C++11 (e.g. [`gcc`](https://gcc.gnu.org/) on Linux, [`Xcode`](https://developer.apple.com/xcode/) on macOS, or [`Visual Studio`](https://visualstudio.microsoft.com/) on Windows)
+4. [Git](https://git-scm.com/)
 
-### Build MATLAB interface to Apache Arrow using MATLAB R2018a:
+## Setup
 
-    cd arrow/matlab
-    mkdir build
-    cd build
-    cmake ..
-    make
+To set up a local working copy of the source code, start by cloning the [`apache/arrow`](https://github.com/apache/arrow) GitHub repository using [Git](https://git-scm.com/):
 
-#### Non-standard MATLAB and Arrow installations
-
-To specify a non-standard MATLAB install location, use the Matlab_ROOT_DIR CMake flag:
+```bash

Review comment:
       ```suggestion
   ```console
   ```

##########
File path: matlab/README.md
##########
@@ -17,96 +17,101 @@
   under the License.
 -->
 
-## MATLAB Library for Apache Arrow
+# MATLAB Interface to Apache Arrow
 
 ## Status
 
 This is a very early stage MATLAB interface to the Apache Arrow C++ libraries.
 
-The current code only supports reading/writing numeric types from/to Feather files.
+The current code only supports reading/writing numeric types from/to Feather v1 files.
 
-## Building from source
+## Prerequisites
 
-### Get Arrow and build Arrow CPP
+To build the MATLAB Interface to Apache Arrow from source, the following software must be installed on the target machine:
 
-See: [Arrow CPP README](../cpp/README.md)
+1. [MATLAB](https://www.mathworks.com/products/get-matlab.html)
+2. [CMake](https://cmake.org/cmake/help/latest/)
+3. C++ compiler which supports C++11 (e.g. [`gcc`](https://gcc.gnu.org/) on Linux, [`Xcode`](https://developer.apple.com/xcode/) on macOS, or [`Visual Studio`](https://visualstudio.microsoft.com/) on Windows)
+4. [Git](https://git-scm.com/)
 
-### Build MATLAB interface to Apache Arrow using MATLAB R2018a:
+## Setup
 
-    cd arrow/matlab
-    mkdir build
-    cd build
-    cmake ..
-    make
+To set up a local working copy of the source code, start by cloning the [`apache/arrow`](https://github.com/apache/arrow) GitHub repository using [Git](https://git-scm.com/):
 
-#### Non-standard MATLAB and Arrow installations
-
-To specify a non-standard MATLAB install location, use the Matlab_ROOT_DIR CMake flag:
+```bash
+$ git clone https://github.com/apache/arrow.git
+```
 
-    cmake .. -DMatlab_ROOT_DIR=/<PATH_TO_MATLAB_INSTALL>
+After cloning, change the working directory to the `matlab` subdirectory:
 
-To specify a non-standard Arrow install location, use the ARROW_HOME CMake flag:
+```bash

Review comment:
       ```suggestion
   ```console
   ```

##########
File path: matlab/README.md
##########
@@ -17,96 +17,101 @@
   under the License.
 -->
 
-## MATLAB Library for Apache Arrow
+# MATLAB Interface to Apache Arrow
 
 ## Status
 
 This is a very early stage MATLAB interface to the Apache Arrow C++ libraries.
 
-The current code only supports reading/writing numeric types from/to Feather files.
+The current code only supports reading/writing numeric types from/to Feather v1 files.
 
-## Building from source
+## Prerequisites
 
-### Get Arrow and build Arrow CPP
+To build the MATLAB Interface to Apache Arrow from source, the following software must be installed on the target machine:
 
-See: [Arrow CPP README](../cpp/README.md)
+1. [MATLAB](https://www.mathworks.com/products/get-matlab.html)
+2. [CMake](https://cmake.org/cmake/help/latest/)
+3. C++ compiler which supports C++11 (e.g. [`gcc`](https://gcc.gnu.org/) on Linux, [`Xcode`](https://developer.apple.com/xcode/) on macOS, or [`Visual Studio`](https://visualstudio.microsoft.com/) on Windows)
+4. [Git](https://git-scm.com/)
 
-### Build MATLAB interface to Apache Arrow using MATLAB R2018a:
+## Setup
 
-    cd arrow/matlab
-    mkdir build
-    cd build
-    cmake ..
-    make
+To set up a local working copy of the source code, start by cloning the [`apache/arrow`](https://github.com/apache/arrow) GitHub repository using [Git](https://git-scm.com/):
 
-#### Non-standard MATLAB and Arrow installations
-
-To specify a non-standard MATLAB install location, use the Matlab_ROOT_DIR CMake flag:
+```bash
+$ git clone https://github.com/apache/arrow.git
+```
 
-    cmake .. -DMatlab_ROOT_DIR=/<PATH_TO_MATLAB_INSTALL>
+After cloning, change the working directory to the `matlab` subdirectory:
 
-To specify a non-standard Arrow install location, use the ARROW_HOME CMake flag:
+```bash
+$ cd arrow/matlab
+```
 
-    cmake .. -DARROW_HOME=/<PATH_TO_ARROW_INSTALL>
+## Build
 
-### Build MATLAB interface to Arrow using MATLAB R2018b or later:
+To build the MATLAB interface, use [CMake](https://cmake.org/cmake/help/latest/):
 
-This may be preferred if you are using MATLAB R2018b or later and have encountered [linker errors](https://gitlab.kitware.com/cmake/cmake/issues/18391) when using CMake.
+```bash
+$ cmake -S . -B build 
+$ cmake --build build --config Release
+```
 
-Prerequisite: Ensure that the Arrow C++ library is already installed and the `ARROW_HOME` environment variable is set to the installation root.
+## Install
 
-To verify this, you can run:
+To install the MATLAB interface to the default software installation location for the target machine (e.g. `/usr/local` on Linux or `C:\Program Files` on Windows), pass the `--taget install` flag to CMake.
 
-``` matlab
->> getenv ARROW_HOME
+```bash
+$ cmake --build build --config Release --target install
 ```
 
-This should print a path that contains `include` and `lib` directories with Arrow C++ headers and libraries.
+As part of the install step, the installation directory is added to the [MATLAB Search Path](https://mathworks.com/help/matlab/matlab_env/what-is-the-matlab-search-path.html).
 
-Navigate to the `build_support` subfolder and run the `compile` function to build the necessary MEX files:
+**Note**: This step may fail if the current user is lacking necessary filesystem permissions. If the install step fails, the installation directory can be manually added to the MATLAB Search Path using the [`addpath`](https://www.mathworks.com/help/matlab/ref/addpath.html) command. 
 
-``` matlab
->> cd build_support
->> compile
-```
+## Test
+
+There are two kinds of tests for the MATLAB Interface: MATLAB and C++. 
+
+### MATLAB
 
-Run the `test` function to execute the unit tests:
+To run the MATLAB tests, start MATLAB in the `arrow/matlab` directory and call the [`runtests`](https://mathworks.com/help/matlab/ref/runtests.html) command on the `test` directory:
 
 ``` matlab
->> test
+>> runtests test;
 ```
 
-## Try it out
+### C++
 
-### Add the src and build directories to your MATLAB path
+To enable the C++ tests, set the `MATLAB_BUILD_TESTS` to `ON` at build time: 
 
-``` matlab
->> cd(fullfile('arrow', 'matlab'));
->> addpath src;
->> addpath build;
+```bash

Review comment:
       ```suggestion
   ```console
   ```

##########
File path: matlab/README.md
##########
@@ -17,96 +17,101 @@
   under the License.
 -->
 
-## MATLAB Library for Apache Arrow
+# MATLAB Interface to Apache Arrow
 
 ## Status
 
 This is a very early stage MATLAB interface to the Apache Arrow C++ libraries.
 
-The current code only supports reading/writing numeric types from/to Feather files.
+The current code only supports reading/writing numeric types from/to Feather v1 files.
 
-## Building from source
+## Prerequisites
 
-### Get Arrow and build Arrow CPP
+To build the MATLAB Interface to Apache Arrow from source, the following software must be installed on the target machine:
 
-See: [Arrow CPP README](../cpp/README.md)
+1. [MATLAB](https://www.mathworks.com/products/get-matlab.html)
+2. [CMake](https://cmake.org/cmake/help/latest/)
+3. C++ compiler which supports C++11 (e.g. [`gcc`](https://gcc.gnu.org/) on Linux, [`Xcode`](https://developer.apple.com/xcode/) on macOS, or [`Visual Studio`](https://visualstudio.microsoft.com/) on Windows)
+4. [Git](https://git-scm.com/)
 
-### Build MATLAB interface to Apache Arrow using MATLAB R2018a:
+## Setup
 
-    cd arrow/matlab
-    mkdir build
-    cd build
-    cmake ..
-    make
+To set up a local working copy of the source code, start by cloning the [`apache/arrow`](https://github.com/apache/arrow) GitHub repository using [Git](https://git-scm.com/):
 
-#### Non-standard MATLAB and Arrow installations
-
-To specify a non-standard MATLAB install location, use the Matlab_ROOT_DIR CMake flag:
+```bash
+$ git clone https://github.com/apache/arrow.git
+```
 
-    cmake .. -DMatlab_ROOT_DIR=/<PATH_TO_MATLAB_INSTALL>
+After cloning, change the working directory to the `matlab` subdirectory:
 
-To specify a non-standard Arrow install location, use the ARROW_HOME CMake flag:
+```bash
+$ cd arrow/matlab
+```
 
-    cmake .. -DARROW_HOME=/<PATH_TO_ARROW_INSTALL>
+## Build
 
-### Build MATLAB interface to Arrow using MATLAB R2018b or later:
+To build the MATLAB interface, use [CMake](https://cmake.org/cmake/help/latest/):
 
-This may be preferred if you are using MATLAB R2018b or later and have encountered [linker errors](https://gitlab.kitware.com/cmake/cmake/issues/18391) when using CMake.
+```bash
+$ cmake -S . -B build 
+$ cmake --build build --config Release
+```
 
-Prerequisite: Ensure that the Arrow C++ library is already installed and the `ARROW_HOME` environment variable is set to the installation root.
+## Install
 
-To verify this, you can run:
+To install the MATLAB interface to the default software installation location for the target machine (e.g. `/usr/local` on Linux or `C:\Program Files` on Windows), pass the `--taget install` flag to CMake.
 
-``` matlab
->> getenv ARROW_HOME
+```bash

Review comment:
       ```suggestion
   ```console
   ```

##########
File path: matlab/README.md
##########
@@ -17,96 +17,101 @@
   under the License.
 -->
 
-## MATLAB Library for Apache Arrow
+# MATLAB Interface to Apache Arrow
 
 ## Status
 
 This is a very early stage MATLAB interface to the Apache Arrow C++ libraries.
 
-The current code only supports reading/writing numeric types from/to Feather files.
+The current code only supports reading/writing numeric types from/to Feather v1 files.
 
-## Building from source
+## Prerequisites
 
-### Get Arrow and build Arrow CPP
+To build the MATLAB Interface to Apache Arrow from source, the following software must be installed on the target machine:
 
-See: [Arrow CPP README](../cpp/README.md)
+1. [MATLAB](https://www.mathworks.com/products/get-matlab.html)
+2. [CMake](https://cmake.org/cmake/help/latest/)
+3. C++ compiler which supports C++11 (e.g. [`gcc`](https://gcc.gnu.org/) on Linux, [`Xcode`](https://developer.apple.com/xcode/) on macOS, or [`Visual Studio`](https://visualstudio.microsoft.com/) on Windows)
+4. [Git](https://git-scm.com/)
 
-### Build MATLAB interface to Apache Arrow using MATLAB R2018a:
+## Setup
 
-    cd arrow/matlab
-    mkdir build
-    cd build
-    cmake ..
-    make
+To set up a local working copy of the source code, start by cloning the [`apache/arrow`](https://github.com/apache/arrow) GitHub repository using [Git](https://git-scm.com/):
 
-#### Non-standard MATLAB and Arrow installations
-
-To specify a non-standard MATLAB install location, use the Matlab_ROOT_DIR CMake flag:
+```bash
+$ git clone https://github.com/apache/arrow.git
+```
 
-    cmake .. -DMatlab_ROOT_DIR=/<PATH_TO_MATLAB_INSTALL>
+After cloning, change the working directory to the `matlab` subdirectory:
 
-To specify a non-standard Arrow install location, use the ARROW_HOME CMake flag:
+```bash
+$ cd arrow/matlab
+```
 
-    cmake .. -DARROW_HOME=/<PATH_TO_ARROW_INSTALL>
+## Build
 
-### Build MATLAB interface to Arrow using MATLAB R2018b or later:
+To build the MATLAB interface, use [CMake](https://cmake.org/cmake/help/latest/):
 
-This may be preferred if you are using MATLAB R2018b or later and have encountered [linker errors](https://gitlab.kitware.com/cmake/cmake/issues/18391) when using CMake.
+```bash
+$ cmake -S . -B build 
+$ cmake --build build --config Release
+```
 
-Prerequisite: Ensure that the Arrow C++ library is already installed and the `ARROW_HOME` environment variable is set to the installation root.
+## Install
 
-To verify this, you can run:
+To install the MATLAB interface to the default software installation location for the target machine (e.g. `/usr/local` on Linux or `C:\Program Files` on Windows), pass the `--taget install` flag to CMake.
 
-``` matlab
->> getenv ARROW_HOME
+```bash
+$ cmake --build build --config Release --target install
 ```
 
-This should print a path that contains `include` and `lib` directories with Arrow C++ headers and libraries.
+As part of the install step, the installation directory is added to the [MATLAB Search Path](https://mathworks.com/help/matlab/matlab_env/what-is-the-matlab-search-path.html).
 
-Navigate to the `build_support` subfolder and run the `compile` function to build the necessary MEX files:
+**Note**: This step may fail if the current user is lacking necessary filesystem permissions. If the install step fails, the installation directory can be manually added to the MATLAB Search Path using the [`addpath`](https://www.mathworks.com/help/matlab/ref/addpath.html) command. 
 
-``` matlab
->> cd build_support
->> compile
-```
+## Test
+
+There are two kinds of tests for the MATLAB Interface: MATLAB and C++. 
+
+### MATLAB
 
-Run the `test` function to execute the unit tests:
+To run the MATLAB tests, start MATLAB in the `arrow/matlab` directory and call the [`runtests`](https://mathworks.com/help/matlab/ref/runtests.html) command on the `test` directory:
 
 ``` matlab
->> test
+>> runtests test;
 ```
 
-## Try it out
+### C++
 
-### Add the src and build directories to your MATLAB path
+To enable the C++ tests, set the `MATLAB_BUILD_TESTS` to `ON` at build time: 
 
-``` matlab
->> cd(fullfile('arrow', 'matlab'));
->> addpath src;
->> addpath build;
+```bash
+$ cmake -S . -B build -D MATLAB_BUILD_TESTS=ON
+$ cmake --build build --config Release
 ```
 
-### Write a MATLAB table to a Feather file
+After building with the `MATLAB_BUILD_TESTS` flag enabled, the C++ tests can be run using [CTest](https://cmake.org/cmake/help/latest/manual/ctest.1.html):
+
+```bash

Review comment:
       ```suggestion
   ```console
   ```

##########
File path: matlab/README.md
##########
@@ -17,96 +17,101 @@
   under the License.
 -->
 
-## MATLAB Library for Apache Arrow
+# MATLAB Interface to Apache Arrow
 
 ## Status
 
 This is a very early stage MATLAB interface to the Apache Arrow C++ libraries.
 
-The current code only supports reading/writing numeric types from/to Feather files.
+The current code only supports reading/writing numeric types from/to Feather v1 files.
 
-## Building from source
+## Prerequisites
 
-### Get Arrow and build Arrow CPP
+To build the MATLAB Interface to Apache Arrow from source, the following software must be installed on the target machine:
 
-See: [Arrow CPP README](../cpp/README.md)
+1. [MATLAB](https://www.mathworks.com/products/get-matlab.html)
+2. [CMake](https://cmake.org/cmake/help/latest/)
+3. C++ compiler which supports C++11 (e.g. [`gcc`](https://gcc.gnu.org/) on Linux, [`Xcode`](https://developer.apple.com/xcode/) on macOS, or [`Visual Studio`](https://visualstudio.microsoft.com/) on Windows)
+4. [Git](https://git-scm.com/)
 
-### Build MATLAB interface to Apache Arrow using MATLAB R2018a:
+## Setup
 
-    cd arrow/matlab
-    mkdir build
-    cd build
-    cmake ..
-    make
+To set up a local working copy of the source code, start by cloning the [`apache/arrow`](https://github.com/apache/arrow) GitHub repository using [Git](https://git-scm.com/):
 
-#### Non-standard MATLAB and Arrow installations
-
-To specify a non-standard MATLAB install location, use the Matlab_ROOT_DIR CMake flag:
+```bash
+$ git clone https://github.com/apache/arrow.git
+```
 
-    cmake .. -DMatlab_ROOT_DIR=/<PATH_TO_MATLAB_INSTALL>
+After cloning, change the working directory to the `matlab` subdirectory:
 
-To specify a non-standard Arrow install location, use the ARROW_HOME CMake flag:
+```bash
+$ cd arrow/matlab
+```
 
-    cmake .. -DARROW_HOME=/<PATH_TO_ARROW_INSTALL>
+## Build
 
-### Build MATLAB interface to Arrow using MATLAB R2018b or later:
+To build the MATLAB interface, use [CMake](https://cmake.org/cmake/help/latest/):
 
-This may be preferred if you are using MATLAB R2018b or later and have encountered [linker errors](https://gitlab.kitware.com/cmake/cmake/issues/18391) when using CMake.
+```bash

Review comment:
       ```suggestion
   ```console
   ```




-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] github-actions[bot] commented on pull request #12389: ARROW-13204: [MATLAB] Update documentation for the MATLAB Interface to reflect latest CMake build system changes

Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on pull request #12389:
URL: https://github.com/apache/arrow/pull/12389#issuecomment-1034253099






-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] kevingurney commented on pull request #12389: ARROW-13204: [MATLAB] Update documentation for the MATLAB Interface to reflect latest CMake build system changes

Posted by GitBox <gi...@apache.org>.
kevingurney commented on pull request #12389:
URL: https://github.com/apache/arrow/pull/12389#issuecomment-1034391400


   @kou - thank you for reviewing this pull request! I've accepted your suggested changes.
   
   My apologies for using `bash` instead of `console`. I wasn't aware that `console` was an option for syntax highlighting.


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] ursabot commented on pull request #12389: ARROW-13204: [MATLAB] Update documentation for the MATLAB Interface to reflect latest CMake build system changes

Posted by GitBox <gi...@apache.org>.
ursabot commented on pull request #12389:
URL: https://github.com/apache/arrow/pull/12389#issuecomment-1034428886


   Benchmark runs are scheduled for baseline = 401746bede014cf3d06a88930c282755f151a93b and contender = e4f658761ffec9a69fe1b3ab5e2b01b27a87493c. e4f658761ffec9a69fe1b3ab5e2b01b27a87493c is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
   Conbench compare runs links:
   [Scheduled] [ec2-t3-xlarge-us-east-2](https://conbench.ursa.dev/compare/runs/8976ad62696e48ae9aa7157f22968ce6...063460c922654baa9a44ea25d3baa96f/)
   [Scheduled] [test-mac-arm](https://conbench.ursa.dev/compare/runs/1dc37a2cf3fa4d47921635a05bf8231f...f2121e5e2d614fdd989d281ff7b6d4e5/)
   [Scheduled] [ursa-i9-9960x](https://conbench.ursa.dev/compare/runs/b3907fcd83144ec98d45ab5d6ab1cb9d...d775332205974dc789fac55f5b402e0e/)
   [Scheduled] [ursa-thinkcentre-m75q](https://conbench.ursa.dev/compare/runs/9f0fb694951d401db480e4eb55beca93...2759033c429d4d4e84868e6c5faed7f5/)
   Supported benchmarks:
   ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python. Runs only benchmarks with cloud = True
   test-mac-arm: Supported benchmark langs: C++, Python, R
   ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
   ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java
   


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org