[5443b1] | 1 | # CMake file for levmar's MEX-file; see http://www.cmake.org
|
---|
| 2 | # Requires FindMatlab.cmake included with cmake
|
---|
| 3 |
|
---|
| 4 | PROJECT(LEVMARMEX)
|
---|
| 5 | #CMAKE_MINIMUM_REQUIRED(VERSION 1.4)
|
---|
| 6 |
|
---|
| 7 | INCLUDE("C:/Program Files/CMake 2.4/share/cmake-2.4/Modules/FindMatlab.cmake")
|
---|
| 8 |
|
---|
| 9 | # f2c is sometimes equivalent to libF77 & libI77; in that case, set HAVE_F2C to 0
|
---|
| 10 | SET(HAVE_F2C 1 CACHE BOOL "Do we have f2c or F77/I77?" )
|
---|
| 11 |
|
---|
| 12 | # the directory where the lapack/blas/f2c libraries reside
|
---|
| 13 | SET(LAPACKBLAS_DIR /usr/lib CACHE PATH "Path to lapack/blas libraries")
|
---|
| 14 |
|
---|
| 15 | # the directory where levmar.h resides
|
---|
| 16 | SET(LM_H_DIR .. CACHE PATH "Path to levmar.h")
|
---|
| 17 | # the directory where the levmar library resides
|
---|
| 18 | SET(LEVMAR_DIR .. CACHE PATH "Path to levmar library")
|
---|
| 19 |
|
---|
| 20 | # actual names for the lapack/blas/f2c libraries
|
---|
| 21 | SET(LAPACK_LIB lapack CACHE STRING "The name of the lapack library")
|
---|
| 22 | SET(BLAS_LIB blas CACHE STRING "The name of the blas library")
|
---|
| 23 | IF(HAVE_F2C)
|
---|
| 24 | SET(F2C_LIB f2c CACHE STRING "The name of the f2c library")
|
---|
| 25 | ELSE(HAVE_F2C)
|
---|
| 26 | SET(F77_LIB libF77 CACHE STRING "The name of the F77 library")
|
---|
| 27 | SET(I77_LIB libI77 CACHE STRING "The name of the I77 library")
|
---|
| 28 | ENDIF(HAVE_F2C)
|
---|
| 29 |
|
---|
| 30 | ########################## NO CHANGES BEYOND THIS POINT ##########################
|
---|
| 31 |
|
---|
| 32 | INCLUDE_DIRECTORIES(${LM_H_DIR})
|
---|
| 33 | LINK_DIRECTORIES(${LAPACKBLAS_DIR} ${LEVMAR_DIR})
|
---|
| 34 |
|
---|
| 35 | SET(SRC levmar.c)
|
---|
| 36 |
|
---|
| 37 | # naming conventions for the generated file's suffix
|
---|
| 38 | IF(WIN32)
|
---|
| 39 | SET(SUFFIX ".mexw32")
|
---|
| 40 | ELSE(WIN32)
|
---|
| 41 | SET(SUFFIX ".mexglx")
|
---|
| 42 | ENDIF(WIN32)
|
---|
| 43 |
|
---|
| 44 | SET(OUTNAME "levmar${SUFFIX}")
|
---|
| 45 |
|
---|
| 46 | ADD_LIBRARY(${OUTNAME} MODULE ${SRC})
|
---|
| 47 |
|
---|
| 48 | IF(HAVE_F2C)
|
---|
| 49 | ADD_CUSTOM_COMMAND(OUTPUT ${OUTNAME}
|
---|
| 50 | DEPENDS ${SRC}
|
---|
| 51 | COMMAND mex
|
---|
| 52 | ARGS -O -I${LM_H_DIR} ${SRC} -I${MATLAB_INCLUDE_DIR} -L${LAPACKBLAS_DIR} -L${LEVMAR_DIR} -L${MATLAB_MEX_LIBRARY} -llevmar -l${LAPACK_LIB} -l${BLAS_LIB} -l${F2C_LIB} -output ${MATLAB_LIBRARIES} ${OUTNAME})
|
---|
| 53 | ELSE(HAVE_F2C)
|
---|
| 54 | ADD_CUSTOM_COMMAND(OUTPUT ${OUTNAME}
|
---|
| 55 | DEPENDS ${SRC}
|
---|
| 56 | COMMAND mex
|
---|
| 57 | ARGS -O -I${LM_H_DIR} ${SRC} -I${MATLAB_INCLUDE_DIR} -L${LAPACKBLAS_DIR} -L${LEVMAR_DIR} -L${MATLAB_MEX_LIBRARY} -llevmar -l${LAPACK_LIB} -l${BLAS_LIB} -l${F77_LIB} -l${I77_LIB} ${MATLAB_LIBRARIES} -output ${OUTNAME})
|
---|
| 58 | ENDIF(HAVE_F2C)
|
---|