Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 744f2189 authored by hhakim's avatar hhakim
Browse files

Update cmake scripts for matio header inclusion and library linking for Windows.

Windows build uses static lib and MATIO_INC_DIR cmake var. to specify where to get header.
The handling of that var. could neverthless apply to other systems.

Also reintroducing the linking of MEXOBJ_FILES into mex binaries (mex/g++/ldd) which were removed by f64202aa (there must have a side effect elsewhere provoking the symbol duplication bug).
parent 3b2f0d5a
Branches
Tags
No related merge requests found
......@@ -616,6 +616,9 @@ include(CMake/findExternalLibs.cmake)
if (BUILD_WRAPPER_PYTHON)
add_subdirectory(${FAUST_PYTHON_SRC_DIR} ${FAUST_PYTHON_BIN_DIR})
endif(BUILD_WRAPPER_PYTHON)
if(MATIO_INC_DIR)
include_directories(${MATIO_INC_DIR})
endif()
add_subdirectory(${FAUST_SRC_LINEAR_OPERATOR_DIR} ${FAUST_BIN_LINEAR_OPERATOR_DIR})
#add_subdirectory(${FAUST_ALGORITHM_SRC_DIR} ${FAUST_ALGORITHM_BIN_DIR})
add_subdirectory(${FAUST_SRC_TEST_DIR} ${FAUST_BIN_TEST_BIN_DIR})
......
......@@ -28,6 +28,11 @@ file(GLOB CPP_MEXTOOLS_FILES "${FAUST_MATLAB_TOOLS_SRC_DIR}/*.cpp")
# include directory
#{${FAUST_EXCEPTION_SRC_DIR}
include_directories(${FAUST_SRC_LINEAR_OPERATOR_DIR} ${FAUST_LINEAR_OPERATOR_CPU_SRC_DIR} ${FAUST_ALGORITHM_CONSTRAINT_SRC_DIR} ${FAUST_ALGORITHM_FACTORIZATION_SRC_DIR} ${FAUST_MATLAB_TOOLS_SRC_DIR} ${MATLAB_INCLUDE_DIR} ${EIGEN_INC_DIR} )
if(MATIO_INC_DIR)
include_directories(${MATIO_INC_DIR})
endif()
#modif compatibilite ubuntu avec openblas
if (BUILD_OPENBLAS)
include_directories(${OPENBLAS_INC_DIR})
......@@ -79,15 +84,15 @@ if(UNIX)
string(REGEX REPLACE "^(.+)/.*$" "-L\\1" LDD_MEX_FLAGS "${MATIO_LIB_FILE}")
set(LDD_MEX_FLAGS ${LDD_MEX_FLAGS} "-L${FAUST_BIN_DIR}" "-l${FAUST_TARGET}" "-lmatio")
endif()
if(BUILD_OPENBLAS)
set(LDD_MEX_FLAGS "${LDD_MEX_FLAGS}" "${OPENBLAS_LIB_FILE}")
endif()
elseif(WIN32)
# MODIF ALALAL
#set(LDD_MEX_FLAGS "-L${FAUST_BIN_DIR}" "-l${FAUST_TARGET}")
if(BUILD_OPENBLAS)
set(LDD_MEX_FLAGS "${LDD_MEX_FLAGS}" "${OPENBLAS_LIB_FILE}")
endif()
#windows version uses static lib of matio
string(REGEX REPLACE "^(.+)/.*$" "\\1/libmatio.a" LDD_MEX_FLAGS "${MATIO_LIB_FILE}")
endif()
if(BUILD_OPENBLAS)
set(LDD_MEX_FLAGS "${LDD_MEX_FLAGS}" "${OPENBLAS_LIB_FILE}")
endif()
if(UNIX)
......@@ -161,7 +166,7 @@ foreach(mex_target ${MEXFILE_TARGET_LIST})
file(GLOB OBJ_MEXTOOLS_FILES "${FAUST_TMPMEX_DIR}/*.${MEXOBJ_EXT}")
add_custom_command(OUTPUT ${mex_target}.${MEX_EXT}
COMMAND ${MATLAB_ROOT}/bin/mex
ARGS "-v" "-largeArrayDims" "${FAUST_MATLAB_MEX_SRC_DIR}/${mex_target}.cpp" ${OBJ_MEXTOOLS_FILES} #${MEXOBJ_FILES} # commented out because provoking double object files on cmd line
ARGS "-v" "-largeArrayDims" "${FAUST_MATLAB_MEX_SRC_DIR}/${mex_target}.cpp" ${OBJ_MEXTOOLS_FILES} ${MEXOBJ_FILES}
${CMAKE_CXX_FLAGS_LIST} ${LDD_MEX_FLAGS}
DEPENDS ${MEXOBJ_FILES}
COMMENT "Creating mex function ${mex_target}.${MEX_EXT}"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment