浏览代码

Added MEX support for Mac OS X

Clemens-Alexander Brust 11 年之前
父节点
当前提交
d7e45dc86c
共有 1 个文件被更改,包括 13 次插入4 次删除
  1. 13 4
      CMakeLists.txt

+ 13 - 4
CMakeLists.txt

@@ -37,8 +37,18 @@ set(external_deps "")
 
 NICE_OPTION(WITH_MEX "Build with MEX support" OFF)
 if(WITH_MEX)
-  set(MATLAB_DEFAULT_ROOT "/home/matlab/8.2/academic")
-  set(MATLAB_DEFAULT_ARCH "glnxa64")
+  if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+    cmake_minimum_required(VERSION 2.8.12)
+    set(MATLAB_DEFAULT_ROOT "/Applications/MATLAB_R2013a.app")
+    set(MATLAB_DEFAULT_ARCH "maci64")
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -include algorithm")
+    set(MEX_ENDING ".mexmaci64")
+    set(CMAKE_MACOSX_RPATH 1)
+  else()
+    set(MATLAB_DEFAULT_ROOT "/home/matlab/8.2/academic")
+    set(MATLAB_DEFAULT_ARCH "glnxa64")
+    set(MEX_ENDING ".mexa64")
+  endif()
 
   # Look for MATLAB environment variable
   if(NOT EXISTS "$ENV{MATLAB}")
@@ -71,12 +81,11 @@ if(WITH_MEX)
     message(FATAL_ERROR "Cannot find mex.h! Have you set \$MATLAB correctly?")
   endif()
 
-  FIND_LIBRARY(MEX_LIBMX mx PATHS ${MATLAB_ROOT}/bin/${MATLAB_ARCH})
+  FIND_LIBRARY(MEX_LIBMX mx PATHS ${MATLAB_ROOT}/bin/${MATLAB_ARCH} NO_DEFAULT_PATH)
   FIND_LIBRARY(MEX_LIBMEX mex PATHS ${MATLAB_ROOT}/bin/${MATLAB_ARCH})
   FIND_LIBRARY(MEX_LIBMAT mat PATHS ${MATLAB_ROOT}/bin/${MATLAB_ARCH})
 
   SET(MEX_LIBRARIES ${MEX_LIBMX} ${MEX_LIBMEX} ${MEX_LIBMAT})
-  SET(MEX_ENDING ".mexa64")
   ADD_DEFINITIONS("-DNICE_USELIB_MEX")
   MESSAGE(STATUS "Found mex libraries at ${MEX_LIBRARIES}")
   set(external_deps ${external_deps} "MEX")