CMake/Modules/FindMatlab.cmake
Kitware Robot 9db3116226 Remove CMake-language block-end command arguments
Ancient versions of CMake required else(), endif(), and similar block
termination commands to have arguments matching the command starting the
block.  This is no longer the preferred style.

Run the following shell code:

for c in else endif endforeach endfunction endmacro endwhile; do
    echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/'
done >convert.sed &&
git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
egrep -z -v 'Tests/CMakeTests/While-Endwhile-' |
xargs -0 sed -i -f convert.sed &&
rm convert.sed
2012-08-13 14:19:16 -04:00

121 lines
3.4 KiB
CMake

# - this module looks for Matlab
# Defines:
# MATLAB_INCLUDE_DIR: include path for mex.h, engine.h
# MATLAB_LIBRARIES: required libraries: libmex, etc
# MATLAB_MEX_LIBRARY: path to libmex.lib
# MATLAB_MX_LIBRARY: path to libmx.lib
# MATLAB_ENG_LIBRARY: path to libeng.lib
#=============================================================================
# Copyright 2005-2009 Kitware, Inc.
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
#
# This software is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
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()
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()
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()
if(MATLAB_FIND_REQUIRED)
message(FATAL_ERROR "Generator not compatible: ${CMAKE_GENERATOR}")
endif()
endif()
endif()
endif()
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()
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()
# 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()
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()
# 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()
mark_as_advanced(
MATLAB_LIBRARIES
MATLAB_MEX_LIBRARY
MATLAB_MX_LIBRARY
MATLAB_ENG_LIBRARY
MATLAB_INCLUDE_DIR
MATLAB_FOUND
MATLAB_ROOT
)