change gtsam_wrapper --> gtsam_matlab_wrapper
parent
4a57d8cd27
commit
0da506b3a9
|
@ -93,7 +93,7 @@ function(wrap_library_internal interfaceHeader linkLibraries extraIncludeDirs ex
|
||||||
|
|
||||||
# Paths for generated files
|
# Paths for generated files
|
||||||
set(generated_files_path "${PROJECT_BINARY_DIR}/wrap/${moduleName}")
|
set(generated_files_path "${PROJECT_BINARY_DIR}/wrap/${moduleName}")
|
||||||
set(generated_cpp_file "${generated_files_path}/${moduleName}_wrapper.cpp")
|
set(generated_cpp_file "${generated_files_path}/${moduleName}_matlab_wrapper.cpp")
|
||||||
set(compiled_mex_modules_root "${PROJECT_BINARY_DIR}/wrap/${moduleName}_mex")
|
set(compiled_mex_modules_root "${PROJECT_BINARY_DIR}/wrap/${moduleName}_mex")
|
||||||
|
|
||||||
message(STATUS "Building wrap module ${moduleName}")
|
message(STATUS "Building wrap module ${moduleName}")
|
||||||
|
@ -219,22 +219,22 @@ function(wrap_library_internal interfaceHeader linkLibraries extraIncludeDirs ex
|
||||||
# Set up building of mex module
|
# Set up building of mex module
|
||||||
string(REPLACE ";" " " extraMexFlagsSpaced "${extraMexFlags}")
|
string(REPLACE ";" " " extraMexFlagsSpaced "${extraMexFlags}")
|
||||||
string(REPLACE ";" " " mexFlagsSpaced "${GTSAM_BUILD_MEX_BINARY_FLAGS}")
|
string(REPLACE ";" " " mexFlagsSpaced "${GTSAM_BUILD_MEX_BINARY_FLAGS}")
|
||||||
add_library(${moduleName}_wrapper MODULE ${generated_cpp_file} ${interfaceHeader} ${otherSourcesAndObjects})
|
add_library(${moduleName}_matlab_wrapper MODULE ${generated_cpp_file} ${interfaceHeader} ${otherSourcesAndObjects})
|
||||||
target_link_libraries(${moduleName}_wrapper ${correctedOtherLibraries})
|
target_link_libraries(${moduleName}_matlab_wrapper ${correctedOtherLibraries})
|
||||||
set_target_properties(${moduleName}_wrapper PROPERTIES
|
set_target_properties(${moduleName}_matlab_wrapper PROPERTIES
|
||||||
OUTPUT_NAME "${moduleName}_wrapper"
|
OUTPUT_NAME "${moduleName}_matlab_wrapper"
|
||||||
PREFIX ""
|
PREFIX ""
|
||||||
SUFFIX ".${mexModuleExt}"
|
SUFFIX ".${mexModuleExt}"
|
||||||
LIBRARY_OUTPUT_DIRECTORY "${compiled_mex_modules_root}"
|
LIBRARY_OUTPUT_DIRECTORY "${compiled_mex_modules_root}"
|
||||||
ARCHIVE_OUTPUT_DIRECTORY "${compiled_mex_modules_root}"
|
ARCHIVE_OUTPUT_DIRECTORY "${compiled_mex_modules_root}"
|
||||||
RUNTIME_OUTPUT_DIRECTORY "${compiled_mex_modules_root}"
|
RUNTIME_OUTPUT_DIRECTORY "${compiled_mex_modules_root}"
|
||||||
CLEAN_DIRECT_OUTPUT 1)
|
CLEAN_DIRECT_OUTPUT 1)
|
||||||
set_property(TARGET ${moduleName}_wrapper APPEND_STRING PROPERTY COMPILE_FLAGS " ${extraMexFlagsSpaced} ${mexFlagsSpaced} \"-I${MATLAB_ROOT}/extern/include\" -DMATLAB_MEX_FILE -DMX_COMPAT_32")
|
set_property(TARGET ${moduleName}_matlab_wrapper APPEND_STRING PROPERTY COMPILE_FLAGS " ${extraMexFlagsSpaced} ${mexFlagsSpaced} \"-I${MATLAB_ROOT}/extern/include\" -DMATLAB_MEX_FILE -DMX_COMPAT_32")
|
||||||
set_property(TARGET ${moduleName}_wrapper APPEND PROPERTY INCLUDE_DIRECTORIES ${extraIncludeDirs})
|
set_property(TARGET ${moduleName}_matlab_wrapper APPEND PROPERTY INCLUDE_DIRECTORIES ${extraIncludeDirs})
|
||||||
# Disable build type postfixes for the mex module - we install in different directories for each build type instead
|
# Disable build type postfixes for the mex module - we install in different directories for each build type instead
|
||||||
foreach(build_type ${CMAKE_CONFIGURATION_TYPES})
|
foreach(build_type ${CMAKE_CONFIGURATION_TYPES})
|
||||||
string(TOUPPER "${build_type}" build_type_upper)
|
string(TOUPPER "${build_type}" build_type_upper)
|
||||||
set_target_properties(${moduleName}_wrapper PROPERTIES ${build_type_upper}_POSTFIX "")
|
set_target_properties(${moduleName}_matlab_wrapper PROPERTIES ${build_type_upper}_POSTFIX "")
|
||||||
endforeach()
|
endforeach()
|
||||||
# Set up platform-specific flags
|
# Set up platform-specific flags
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
|
@ -243,17 +243,17 @@ function(wrap_library_internal interfaceHeader linkLibraries extraIncludeDirs ex
|
||||||
else()
|
else()
|
||||||
set(mxLibPath "${MATLAB_ROOT}/extern/lib/win32/microsoft")
|
set(mxLibPath "${MATLAB_ROOT}/extern/lib/win32/microsoft")
|
||||||
endif()
|
endif()
|
||||||
target_link_libraries(${moduleName}_wrapper "${mxLibPath}/libmex.lib" "${mxLibPath}/libmx.lib" "${mxLibPath}/libmat.lib")
|
target_link_libraries(${moduleName}_matlab_wrapper "${mxLibPath}/libmex.lib" "${mxLibPath}/libmx.lib" "${mxLibPath}/libmat.lib")
|
||||||
set_target_properties(${moduleName}_wrapper PROPERTIES LINK_FLAGS "/export:mexFunction")
|
set_target_properties(${moduleName}_matlab_wrapper PROPERTIES LINK_FLAGS "/export:mexFunction")
|
||||||
set_property(SOURCE "${generated_cpp_file}" APPEND PROPERTY COMPILE_FLAGS "/bigobj")
|
set_property(SOURCE "${generated_cpp_file}" APPEND PROPERTY COMPILE_FLAGS "/bigobj")
|
||||||
elseif(APPLE)
|
elseif(APPLE)
|
||||||
set(mxLibPath "${MATLAB_ROOT}/bin/maci64")
|
set(mxLibPath "${MATLAB_ROOT}/bin/maci64")
|
||||||
target_link_libraries(${moduleName}_wrapper "${mxLibPath}/libmex.dylib" "${mxLibPath}/libmx.dylib" "${mxLibPath}/libmat.dylib")
|
target_link_libraries(${moduleName}_matlab_wrapper "${mxLibPath}/libmex.dylib" "${mxLibPath}/libmx.dylib" "${mxLibPath}/libmat.dylib")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Hacking around output issue with custom command
|
# Hacking around output issue with custom command
|
||||||
# Deletes generated build folder
|
# Deletes generated build folder
|
||||||
add_custom_target(wrap_${moduleName}_distclean
|
add_custom_target(wrap_${moduleName}_matlab_distclean
|
||||||
COMMAND cmake -E remove_directory ${generated_files_path}
|
COMMAND cmake -E remove_directory ${generated_files_path}
|
||||||
COMMAND cmake -E remove_directory ${compiled_mex_modules_root})
|
COMMAND cmake -E remove_directory ${compiled_mex_modules_root})
|
||||||
endfunction()
|
endfunction()
|
||||||
|
@ -278,13 +278,13 @@ function(install_wrapped_library_internal interfaceHeader)
|
||||||
get_filename_component(location "${GTSAM_TOOLBOX_INSTALL_PATH}" PATH)
|
get_filename_component(location "${GTSAM_TOOLBOX_INSTALL_PATH}" PATH)
|
||||||
get_filename_component(name "${GTSAM_TOOLBOX_INSTALL_PATH}" NAME)
|
get_filename_component(name "${GTSAM_TOOLBOX_INSTALL_PATH}" NAME)
|
||||||
install(DIRECTORY "${generated_files_path}/" DESTINATION "${location}/${name}${build_type_tag}" CONFIGURATIONS "${build_type}" FILES_MATCHING PATTERN "*.m")
|
install(DIRECTORY "${generated_files_path}/" DESTINATION "${location}/${name}${build_type_tag}" CONFIGURATIONS "${build_type}" FILES_MATCHING PATTERN "*.m")
|
||||||
install(TARGETS ${moduleName}_wrapper
|
install(TARGETS ${moduleName}_matlab_wrapper
|
||||||
LIBRARY DESTINATION "${location}/${name}${build_type_tag}" CONFIGURATIONS "${build_type}"
|
LIBRARY DESTINATION "${location}/${name}${build_type_tag}" CONFIGURATIONS "${build_type}"
|
||||||
RUNTIME DESTINATION "${location}/${name}${build_type_tag}" CONFIGURATIONS "${build_type}")
|
RUNTIME DESTINATION "${location}/${name}${build_type_tag}" CONFIGURATIONS "${build_type}")
|
||||||
endforeach()
|
endforeach()
|
||||||
else()
|
else()
|
||||||
install(DIRECTORY "${generated_files_path}/" DESTINATION ${GTSAM_TOOLBOX_INSTALL_PATH} FILES_MATCHING PATTERN "*.m")
|
install(DIRECTORY "${generated_files_path}/" DESTINATION ${GTSAM_TOOLBOX_INSTALL_PATH} FILES_MATCHING PATTERN "*.m")
|
||||||
install(TARGETS ${moduleName}_wrapper
|
install(TARGETS ${moduleName}_matlab_wrapper
|
||||||
LIBRARY DESTINATION ${GTSAM_TOOLBOX_INSTALL_PATH}
|
LIBRARY DESTINATION ${GTSAM_TOOLBOX_INSTALL_PATH}
|
||||||
RUNTIME DESTINATION ${GTSAM_TOOLBOX_INSTALL_PATH})
|
RUNTIME DESTINATION ${GTSAM_TOOLBOX_INSTALL_PATH})
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -264,7 +264,7 @@ void Module::generate_matlab_wrapper(const string& toolboxPath) const {
|
||||||
fs::create_directories(toolboxPath);
|
fs::create_directories(toolboxPath);
|
||||||
|
|
||||||
// create the unified .cpp switch file
|
// create the unified .cpp switch file
|
||||||
const string wrapperName = name + "_wrapper";
|
const string wrapperName = name + "_matlab_wrapper";
|
||||||
string wrapperFileName = toolboxPath + "/" + wrapperName + ".cpp";
|
string wrapperFileName = toolboxPath + "/" + wrapperName + ".cpp";
|
||||||
FileWriter wrapperFile(wrapperFileName, verbose, "//");
|
FileWriter wrapperFile(wrapperFileName, verbose, "//");
|
||||||
wrapperFile.oss << "#include <wrap/matlab.h>\n";
|
wrapperFile.oss << "#include <wrap/matlab.h>\n";
|
||||||
|
|
Loading…
Reference in New Issue