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

Kevin Gurney updated ARROW-13100:
---------------------------------
    Description: 
The MATLAB Interface for Apache Arrow will call into C++ code via MEX functions 
to interact with the Arrow C++ libraries.

All of the C++ APIs that will support the MATLAB Interface will require 
corresponding C++ tests to go with them.

We would like to reuse the CMake GoogleTest integration code that has already 
been authored in 
[{{cpp/cmake_modules/ThirdpartyToolchain.cmake|https://github.com/apache/arrow/blob/master/cpp/cmake_modules/ThirdpartyToolchain.cmake]}}
 to enable us to author and execute C++ tests for the MATLAB Interface.

We imagine supporting two kinds of GoogleTest integration workflows:
 # A user provided 
[{{GTEST_ROOT|https://cmake.org/cmake/help/latest/module/FindGTest.html]}} 
value to pre-built Google-Test binaries (e.g. GoogleTest binaries that were 
built as part of building the Arrow C++ libraries).
 # Automatic fetching/building of GoogleTest using 
[ExternalProject|https://cmake.org/cmake/help/latest/module/ExternalProject.html]
 From what we can tell, we should be able to reuse the {{}}[build_dependency 
macro|https://github.com/apache/arrow/blob/57ecc73e6153fea04e0ac0d13792ba0abb0dd779/cpp/cmake_modules/ThirdpartyToolchain.cmake#L137]
 declared in {{ThirdpartyToolchain.cmake}} to do this.

  was:
The MATLAB Interface for Apache Arrow will call into C++ code via MEX functions 
to interact with the Arrow C++ libraries.

All of the C++ APIs that will support the MATLAB Interface will require 
corresponding C++ tests to go with them.

We would like to reuse the CMake GoogleTest integration code that has already 
been authored in {{cpp/cmake_modules/ThirdpartyToolchain.cmake}} to enable us 
to author and execute C++ tests for the MATLAB Interface.

We imagine supporting two kinds of GoogleTest integration workflows:
 # A user provided {{GTEST_ROOT}} value to pre-built Google-Test binaries (e.g. 
GoogleTest binaries that were built as part of building the Arrow C++ 
libraries).
 # Automatic fetching/building of GoogleTest using 
[ExternalProject|https://cmake.org/cmake/help/latest/module/ExternalProject.html]
 From what we can tell, we should be able to reuse the {{build_dependency}} 
function declared in {{ThirdpartyToolchain.cmake}} to do this.


> [MATLAB] Integrate GoogleTest with MATLAB Interface C++ Code
> ------------------------------------------------------------
>
>                 Key: ARROW-13100
>                 URL: https://issues.apache.org/jira/browse/ARROW-13100
>             Project: Apache Arrow
>          Issue Type: Task
>          Components: MATLAB
>            Reporter: Kevin Gurney
>            Assignee: Kevin Gurney
>            Priority: Minor
>
> The MATLAB Interface for Apache Arrow will call into C++ code via MEX 
> functions to interact with the Arrow C++ libraries.
> All of the C++ APIs that will support the MATLAB Interface will require 
> corresponding C++ tests to go with them.
> We would like to reuse the CMake GoogleTest integration code that has already 
> been authored in 
> [{{cpp/cmake_modules/ThirdpartyToolchain.cmake|https://github.com/apache/arrow/blob/master/cpp/cmake_modules/ThirdpartyToolchain.cmake]}}
>  to enable us to author and execute C++ tests for the MATLAB Interface.
> We imagine supporting two kinds of GoogleTest integration workflows:
>  # A user provided 
> [{{GTEST_ROOT|https://cmake.org/cmake/help/latest/module/FindGTest.html]}} 
> value to pre-built Google-Test binaries (e.g. GoogleTest binaries that were 
> built as part of building the Arrow C++ libraries).
>  # Automatic fetching/building of GoogleTest using 
> [ExternalProject|https://cmake.org/cmake/help/latest/module/ExternalProject.html]
>  From what we can tell, we should be able to reuse the {{}}[build_dependency 
> macro|https://github.com/apache/arrow/blob/57ecc73e6153fea04e0ac0d13792ba0abb0dd779/cpp/cmake_modules/ThirdpartyToolchain.cmake#L137]
>  declared in {{ThirdpartyToolchain.cmake}} to do this.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to