| # This module looks for MatlabMex compiler |
| # Defines variables: |
| # Matlab_DIR - Matlab root dir |
| # Matlab_mex - path to mex compiler |
| # Matlab_mexext - path to mexext |
| |
| if(MSVC) |
| foreach(__ver "9.30" "7.14" "7.11" "7.10" "7.9" "7.8" "7.7") |
| get_filename_component(__matlab_root "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MathWorks\\MATLAB\\${__ver};MATLABROOT]" ABSOLUTE) |
| if(__matlab_root) |
| break() |
| endif() |
| endforeach() |
| endif() |
| |
| if(APPLE) |
| foreach(__ver "R2014b" "R2014a" "R2013b" "R2013a" "R2012b" "R2012a" "R2011b" "R2011a" "R2010b" "R2010a") |
| if(EXISTS /Applications/MATLAB_${__ver}.app) |
| set(__matlab_root /Applications/MATLAB_${__ver}.app) |
| break() |
| endif() |
| endforeach() |
| endif() |
| |
| if(UNIX) |
| execute_process(COMMAND which matlab OUTPUT_STRIP_TRAILING_WHITESPACE |
| OUTPUT_VARIABLE __out RESULT_VARIABLE __res) |
| |
| if(__res MATCHES 0) # Suppress `readlink` warning if `which` returned nothing |
| execute_process(COMMAND which matlab COMMAND xargs readlink |
| COMMAND xargs dirname COMMAND xargs dirname COMMAND xargs echo -n |
| OUTPUT_VARIABLE __matlab_root OUTPUT_STRIP_TRAILING_WHITESPACE) |
| endif() |
| endif() |
| |
| |
| find_path(Matlab_DIR NAMES bin/mex bin/mexext PATHS ${__matlab_root} |
| DOC "Matlab directory" NO_DEFAULT_PATH) |
| |
| find_program(Matlab_mex NAMES mex mex.bat HINTS ${Matlab_DIR} PATH_SUFFIXES bin NO_DEFAULT_PATH) |
| find_program(Matlab_mexext NAMES mexext mexext.bat HINTS ${Matlab_DIR} PATH_SUFFIXES bin NO_DEFAULT_PATH) |
| |
| include(FindPackageHandleStandardArgs) |
| find_package_handle_standard_args(MatlabMex DEFAULT_MSG Matlab_mex Matlab_mexext) |
| |
| if(MATLABMEX_FOUND) |
| mark_as_advanced(Matlab_mex Matlab_mexext) |
| endif() |