2021-03-10 04:07:15 +08:00
# Set the wrapping script variable
set ( MATLAB_WRAP_SCRIPT "${GTSAM_SOURCE_DIR}/wrap/scripts/matlab_wrap.py" )
2021-02-16 08:40:40 +08:00
2013-12-23 02:01:39 +08:00
# Set up cache options
option ( GTSAM_MEX_BUILD_STATIC_MODULE "Build MATLAB wrapper statically (increases build time)" OFF )
set ( GTSAM_BUILD_MEX_BINARY_FLAGS "" CACHE STRING "Extra flags for running Matlab MEX compilation" )
set ( GTSAM_TOOLBOX_INSTALL_PATH "" CACHE PATH "Matlab toolbox destination, blank defaults to CMAKE_INSTALL_PREFIX/gtsam_toolbox" )
if ( NOT GTSAM_TOOLBOX_INSTALL_PATH )
2020-11-19 05:29:53 +08:00
set ( GTSAM_TOOLBOX_INSTALL_PATH "${CMAKE_INSTALL_PREFIX}/gtsam_toolbox" )
2013-12-23 02:01:39 +08:00
endif ( )
2021-03-10 04:07:15 +08:00
set ( WRAP_MEX_BUILD_STATIC_MODULE ${ GTSAM_MEX_BUILD_STATIC_MODULE } )
set ( WRAP_BUILD_MEX_BINARY_FLAGS ${ GTSAM_BUILD_MEX_BINARY_FLAGS } )
set ( WRAP_TOOLBOX_INSTALL_PATH ${ GTSAM_TOOLBOX_INSTALL_PATH } )
set ( WRAP_CUSTOM_MATLAB_PATH ${ GTSAM_CUSTOM_MATLAB_PATH } )
set ( WRAP_BUILD_TYPE_POSTFIXES ${ GTSAM_BUILD_TYPE_POSTFIXES } )
2020-08-18 05:13:10 +08:00
2021-03-10 04:07:15 +08:00
# Fixup the Python paths
if ( GTWRAP_DIR )
# packaged
set ( GTWRAP_PACKAGE_DIR ${ GTWRAP_DIR } )
else ( )
set ( GTWRAP_PACKAGE_DIR ${ GTSAM_SOURCE_DIR } /wrap )
2019-07-10 05:11:01 +08:00
endif ( )
2013-12-23 02:01:39 +08:00
2021-03-10 04:07:15 +08:00
include ( MatlabWrap )
2013-12-23 02:01:39 +08:00
2021-03-10 04:07:15 +08:00
if ( NOT BUILD_SHARED_LIBS )
message ( FATAL_ERROR "GTSAM_INSTALL_MATLAB_TOOLBOX and BUILD_SHARED_LIBS=OFF. The MATLAB wrapper cannot be compiled with a static GTSAM library because mex modules are themselves shared libraries. If you want a self-contained mex module, enable GTSAM_MEX_BUILD_STATIC_MODULE instead of BUILD_SHARED_LIBS=OFF." )
endif ( )