| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- #
- # this module looks for Matlab
- #
- # Define
- # MATLAB_INCLUDE_DIR points to the include path for mex.h, engine.h
- # MATLAB_LIBRARIES list of libraries need: libmex.lib, libmx.lib and libeng.lib
- # MATLAB_MEX_LIBRARY point to libmex.lib
- # MATLAB_MX_LIBRARY point to libmx.lib
- # MATLAB_ENG_LIBRARY point to libeng.lib
- SET(MATLAB_FOUND 0)
- IF(WIN32)
- IF(${CMAKE_GENERATOR} MATCHES "Visual Studio 6")
- SET(MATLAB_ROOT "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MathWorks\\MATLAB\\7.0;MATLABROOT]/extern/lib/win32/microsoft/msvc60")
- ELSE(${CMAKE_GENERATOR} MATCHES "Visual Studio 6")
- IF(${CMAKE_GENERATOR} MATCHES "Visual Studio 7")
- # Assume people are generally using 7.1,
- # if using 7.0 need to link to: ../extern/lib/win32/microsoft/msvc70
- SET(MATLAB_ROOT "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MathWorks\\MATLAB\\7.0;MATLABROOT]/extern/lib/win32/microsoft/msvc71")
- ELSE(${CMAKE_GENERATOR} MATCHES "Visual Studio 7")
- IF(${CMAKE_GENERATOR} MATCHES "Borland")
- # Same here, there are also: bcc50 and bcc51 directories
- SET(MATLAB_ROOT "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MathWorks\\MATLAB\\7.0;MATLABROOT]/extern/lib/win32/microsoft/bcc54")
- ELSE(${CMAKE_GENERATOR} MATCHES "Borland")
- MESSAGE(FATAL_ERROR "Generator not compatible: ${CMAKE_GENERATOR}")
- ENDIF(${CMAKE_GENERATOR} MATCHES "Borland")
- ENDIF(${CMAKE_GENERATOR} MATCHES "Visual Studio 7")
- ENDIF(${CMAKE_GENERATOR} MATCHES "Visual Studio 6")
- FIND_LIBRARY(MATLAB_MEX_LIBRARY
- libmex
- ${MATLAB_ROOT}
- )
- FIND_LIBRARY(MATLAB_MX_LIBRARY
- libmx
- ${MATLAB_ROOT}
- )
- FIND_LIBRARY(MATLAB_ENG_LIBRARY
- libeng
- ${MATLAB_ROOT}
- )
- FIND_PATH(MATLAB_INCLUDE_DIR
- "mex.h"
- "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MathWorks\\MATLAB\\7.0;MATLABROOT]/extern/include"
- )
- ELSE( WIN32 )
- IF(CMAKE_SIZEOF_VOID_P EQUAL 4)
- # Regular x86
- SET(MATLAB_ROOT
- /usr/local/matlab-7sp1/bin/glnx86/
- /opt/matlab-7sp1/bin/glnx86/
- $ENV{HOME}/matlab-7sp1/bin/glnx86/
- $ENV{HOME}/redhat-matlab/bin/glnx86/
- )
- ELSE(CMAKE_SIZEOF_VOID_P EQUAL 4)
- # AMD64:
- SET(MATLAB_ROOT
- /usr/local/matlab-7sp1/bin/glnxa64/
- /opt/matlab-7sp1/bin/glnxa64/
- $ENV{HOME}/matlab7_64/bin/glnxa64/
- $ENV{HOME}/matlab-7sp1/bin/glnxa64/
- $ENV{HOME}/redhat-matlab/bin/glnxa64/
- )
- ENDIF(CMAKE_SIZEOF_VOID_P EQUAL 4)
- FIND_LIBRARY(MATLAB_MEX_LIBRARY
- mex
- ${MATLAB_ROOT}
- )
- FIND_LIBRARY(MATLAB_MX_LIBRARY
- mx
- ${MATLAB_ROOT}
- )
- FIND_LIBRARY(MATLAB_ENG_LIBRARY
- eng
- ${MATLAB_ROOT}
- )
- FIND_PATH(MATLAB_INCLUDE_DIR
- "mex.h"
- "/usr/local/matlab-7sp1/extern/include/"
- "/opt/matlab-7sp1/extern/include/"
- "$ENV{HOME}/matlab-7sp1/extern/include/"
- "$ENV{HOME}/redhat-matlab/extern/include/"
- )
- ENDIF(WIN32)
- # This is common to UNIX and Win32:
- SET(MATLAB_LIBRARIES
- ${MATLAB_MEX_LIBRARY}
- ${MATLAB_MX_LIBRARY}
- ${MATLAB_ENG_LIBRARY}
- )
- IF(MATLAB_INCLUDE_DIR AND MATLAB_LIBRARIES)
- SET(MATLAB_FOUND 1)
- ENDIF(MATLAB_INCLUDE_DIR AND MATLAB_LIBRARIES)
- MARK_AS_ADVANCED(
- MATLAB_LIBRARIES
- MATLAB_MEX_LIBRARY
- MATLAB_MX_LIBRARY
- MATLAB_ENG_LIBRARY
- MATLAB_INCLUDE_DIR
- MATLAB_FOUND
- MATLAB_ROOT
- )
|