Escapes to get quotes into compile/link flags for mex

release/4.3a0
Richard Roberts 2012-07-03 15:33:28 +00:00
parent d2620d2ebc
commit dbc5ece062
1 changed files with 10 additions and 4 deletions

View File

@ -94,7 +94,10 @@ if (GTSAM_BUILD_STATIC_LIBRARY)
install(TARGETS gtsam-static EXPORT GTSAM-exports ARCHIVE DESTINATION lib)
list(APPEND GTSAM_EXPORTED_TARGETS gtsam-static)
set(GTSAM_EXPORTED_TARGETS "${GTSAM_EXPORTED_TARGETS}" PARENT_SCOPE)
set(gtsam-lib "gtsam-static")
set(gtsam-lib gtsam-static)
if(NOT GTSAM_BUILD_SHARED_LIBRARY)
set(gtsam-prefer-shared gtsam-static)
endif()
endif (GTSAM_BUILD_STATIC_LIBRARY)
if (GTSAM_BUILD_SHARED_LIBRARY)
@ -112,6 +115,7 @@ if (GTSAM_BUILD_SHARED_LIBRARY)
if (NOT GTSAM_BUILD_STATIC_LIBRARY)
set(gtsam-lib "gtsam-shared")
endif()
set(gtsam-prefer-shared gtsam-shared)
endif(GTSAM_BUILD_SHARED_LIBRARY)
# Create the matlab toolbox for the gtsam library
@ -132,9 +136,11 @@ if (GTSAM_BUILD_WRAP)
endif()
# Generate, build and install toolbox
set(mexFlags "${GTSAM_BUILD_MEX_BINARY_FLAGS} ${CMAKE_CXX_FLAGS} -I${Boost_INCLUDE_DIR} -I${MEX_INCLUDE_ROOT} -I${MEX_INCLUDE_ROOT}/gtsam -I${MEX_INCLUDE_ROOT}/gtsam/base -I${MEX_INCLUDE_ROOT}/gtsam/geometry -I${MEX_INCLUDE_ROOT}/gtsam/linear -I${MEX_INCLUDE_ROOT}/gtsam/discrete -I${MEX_INCLUDE_ROOT}/gtsam/inference -I${MEX_INCLUDE_ROOT}/gtsam/nonlinear -I${MEX_INCLUDE_ROOT}/gtsam/slam -L${GTSAM_LIB_DIR} -lgtsam")
string(TOUPPER "${CMAKE_BUILD_TYPE}" cmake_build_type_toupper)
set(mexFlags "${mexFlags} -g COMPFLAGS='/c /DMATLAB_MEX_FILE ${CMAKE_CXX_FLAGS_${cmake_build_type_toupper}}'")
string(TOUPPER ${CMAKE_BUILD_TYPE} build_type_toupper)
get_target_property(gtsam_library_file ${gtsam-prefer-shared} LOCATION_${build_type_toupper})
set(mexFlags "${GTSAM_BUILD_MEX_BINARY_FLAGS} -I${Boost_INCLUDE_DIR} -I${MEX_INCLUDE_ROOT} -I${MEX_INCLUDE_ROOT}/gtsam -I${MEX_INCLUDE_ROOT}/gtsam/base -I${MEX_INCLUDE_ROOT}/gtsam/geometry -I${MEX_INCLUDE_ROOT}/gtsam/linear -I${MEX_INCLUDE_ROOT}/gtsam/discrete -I${MEX_INCLUDE_ROOT}/gtsam/inference -I${MEX_INCLUDE_ROOT}/gtsam/nonlinear -I${MEX_INCLUDE_ROOT}/gtsam/slam ${gtsam_library_file}")
# Lots of escapes '\' here because they get eaten during subsequent calls to 'set'
set(mexFlags "${mexFlags} -g COMPFLAGS=\\\"$$COMPFLAGS ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${build_type_toupper}}\\\"")
# Macro to handle details of setting up targets
# FIXME: issue with dependency between wrap_gtsam and wrap_gtsam_build, only shows up on CMake 2.8.3