Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 0ec12982 authored by hhakim's avatar hhakim
Browse files

Fix cmake script consistency issues about NO_MATIO and BUILD_READ_MAT_FILE options.

parent 0c6c99bd
No related branches found
No related tags found
No related merge requests found
......@@ -127,9 +127,9 @@ if(${USE_MATIO_STATIC_LIBS})
add_library(Z_STATIC_LIB STATIC IMPORTED GLOBAL)
add_library(HDF5_STATIC_LIB STATIC IMPORTED GLOBAL)
endif()
#if (BUILD_READ_MAT_FILE)
if (BUILD_READ_MAT_FILE)
include(CMake/findMATIOLib.cmake)
#endif(BUILD_READ_MAT_FILE)
endif(BUILD_READ_MAT_FILE)
######## XML INCLUDE AND LIBRARY ##################
if (BUILD_READ_XML_FILE)
include(CMake/findXML2Lib.cmake)
......
......@@ -568,6 +568,9 @@ if(NOT "$ENV{MATIO_INC_DIR}" MATCHES "^$")
endif()
############################################
if(NO_MATIO AND BUILD_READ_MAT_FILE)
message(WARNING "NO_MATIO option is enabled, BUILD_READ_MAT_FILE should be OFF")
endif()
#########################################
###### FIND EXTERNALS LIBRARY ##########
......@@ -681,6 +684,9 @@ if(NOT BUILD_EIGTJ_SVDTJ)
list(REMOVE_ITEM CPP_FILES ${FILE})
endforeach()
endif()
if(NO_MATIO)
list(REMOVE_ITEM CPP_FILES ${FAUST_SRC_DIR}/utils/matio/faust_init_from_matio.cpp)
endif()
if(NOT FAUST_TORCH)
list(REMOVE_ITEM CPP_FILES ${FAUST_SRC_LINEAR_OPERATOR_DIR}/CPU/faust_torch.cpp)
endif()
......
......@@ -18,42 +18,47 @@ set(FAUST_PYTHON_LIBS "'faust'")
string(REGEX REPLACE " " "', '" PYFAUST_PYTHON_REQUIREMENTS_AS_PYLIST ${PYFAUST_PYTHON_REQUIREMENTS})
set(PYFAUST_PYTHON_REQUIREMENTS_AS_PYLIST "'${PYFAUST_PYTHON_REQUIREMENTS_AS_PYLIST}'")
if(${USE_MATIO_STATIC_LIBS})
# Build using matio static library and dependencies
if(NOT WIN32)
set(PYTHON_EXT_EXTRA_OBJECTS "[ '${MATIO_STATIC_LIB_PATH}', '${HDF5_STATIC_LIB_PATH}', '${Z_STATIC_LIB_PATH}']") # the order matters for compilation
else() # WIN32 (tested on Visual Studio)
# compile the pyx and all faust .cpp needed (instead to link to faust.lib)
set(PY_EXT_SOURCES "${PY_EXT_SOURCES}+glob('${FAUST_PYTHON_SRC_SRC_DIR}/*.cpp')")
# extract the name (without .lib suffix) and the path of each lib
# 1/ matio
get_filename_component(MATIO_LIB_DIR ${MATIO_STATIC_LIB_PATH} DIRECTORY)
get_filename_component(MATIO_LIB_NAME ${MATIO_STATIC_LIB_PATH} NAME_WE)
#set(FAUST_PYTHON_LIBS "'${MATIO_LIB_NAME}'") # override variable (ignoring faust lib., recompiling from code)
set(FAUST_PYTHON_LIBS "${FAUST_PYTHON_LIBS},'${MATIO_LIB_NAME}'") # override variable (ignoring faust lib., recompiling from code)
set(FAUST_PYTHON_LIB_DIR "${FAUST_PYTHON_LIB_DIR},'${MATIO_LIB_DIR}'")
# 2/ zlib
get_filename_component(Z_LIB_DIR ${Z_STATIC_LIB_PATH} DIRECTORY)
get_filename_component(Z_LIB_NAME ${Z_STATIC_LIB_PATH} NAME_WE)
set(FAUST_PYTHON_LIBS "${FAUST_PYTHON_LIBS},'${Z_LIB_NAME}'")
set(FAUST_PYTHON_LIB_DIR "${FAUST_PYTHON_LIB_DIR},'${Z_LIB_DIR}'")
# 3/ hdf5
get_filename_component(HDF5_LIB_DIR ${HDF5_STATIC_LIB_PATH} DIRECTORY)
get_filename_component(HDF5_LIB_NAME ${HDF5_STATIC_LIB_PATH} NAME_WE)
set(FAUST_PYTHON_LIBS "${FAUST_PYTHON_LIBS},'${HDF5_LIB_NAME}'")
set(FAUST_PYTHON_LIB_DIR "${FAUST_PYTHON_LIB_DIR},'${HDF5_LIB_DIR}'")
if(BUILD_READ_MAT_FILE AND NOT NO_MATIO)
if(${USE_MATIO_STATIC_LIBS})
# Build using matio static library and dependencies
if(NOT WIN32)
set(PYTHON_EXT_EXTRA_OBJECTS "[ '${MATIO_STATIC_LIB_PATH}', '${HDF5_STATIC_LIB_PATH}', '${Z_STATIC_LIB_PATH}']") # the order matters for compilation
else() # WIN32 (tested on Visual Studio)
# compile the pyx and all faust .cpp needed (instead to link to faust.lib)
set(PY_EXT_SOURCES "${PY_EXT_SOURCES}+glob('${FAUST_PYTHON_SRC_SRC_DIR}/*.cpp')")
# extract the name (without .lib suffix) and the path of each lib
# 1/ matio
get_filename_component(MATIO_LIB_DIR ${MATIO_STATIC_LIB_PATH} DIRECTORY)
get_filename_component(MATIO_LIB_NAME ${MATIO_STATIC_LIB_PATH} NAME_WE)
#set(FAUST_PYTHON_LIBS "'${MATIO_LIB_NAME}'") # override variable (ignoring faust lib., recompiling from code)
set(FAUST_PYTHON_LIBS "${FAUST_PYTHON_LIBS},'${MATIO_LIB_NAME}'") # override variable (ignoring faust lib., recompiling from code)
set(FAUST_PYTHON_LIB_DIR "${FAUST_PYTHON_LIB_DIR},'${MATIO_LIB_DIR}'")
# 2/ zlib
get_filename_component(Z_LIB_DIR ${Z_STATIC_LIB_PATH} DIRECTORY)
get_filename_component(Z_LIB_NAME ${Z_STATIC_LIB_PATH} NAME_WE)
set(FAUST_PYTHON_LIBS "${FAUST_PYTHON_LIBS},'${Z_LIB_NAME}'")
set(FAUST_PYTHON_LIB_DIR "${FAUST_PYTHON_LIB_DIR},'${Z_LIB_DIR}'")
# 3/ hdf5
get_filename_component(HDF5_LIB_DIR ${HDF5_STATIC_LIB_PATH} DIRECTORY)
get_filename_component(HDF5_LIB_NAME ${HDF5_STATIC_LIB_PATH} NAME_WE)
set(FAUST_PYTHON_LIBS "${FAUST_PYTHON_LIBS},'${HDF5_LIB_NAME}'")
set(FAUST_PYTHON_LIB_DIR "${FAUST_PYTHON_LIB_DIR},'${HDF5_LIB_DIR}'")
set(PYTHON_EXT_EXTRA_OBJECTS "None")
endif()
else()
# Build using matio dynamic library or static standalone library (including defs for zlib, hdf5 and szip -- which is normally in hdf5 static lib)
set(PYTHON_EXT_EXTRA_OBJECTS "None")
get_filename_component(MATIO_LIB_DIR ${MATIO_LIB_FILE} DIRECTORY)
get_filename_component(MATIO_LIB_NAME ${MATIO_LIB_FILE} NAME_WE)
if((NOT WIN32 OR ${CMAKE_GENERATOR} MATCHES "MinGW Makefiles") AND NOT ${MATIO_LIB_FILE} MATCHES ".*\\.a")
string(REGEX REPLACE "^lib" "" MATIO_LIB_NAME ${MATIO_LIB_NAME})
endif()
set(FAUST_PYTHON_LIBS "${FAUST_PYTHON_LIBS},'${MATIO_LIB_NAME}'")
set(FAUST_PYTHON_LIB_DIR "${FAUST_PYTHON_LIB_DIR},'${MATIO_LIB_DIR}'")
endif()
else()
# Build using matio dynamic library or static standalone library (including defs for zlib, hdf5 and szip -- which is normally in hdf5 static lib)
set(PYTHON_EXT_EXTRA_OBJECTS "None")
get_filename_component(MATIO_LIB_DIR ${MATIO_LIB_FILE} DIRECTORY)
get_filename_component(MATIO_LIB_NAME ${MATIO_LIB_FILE} NAME_WE)
if((NOT WIN32 OR ${CMAKE_GENERATOR} MATCHES "MinGW Makefiles") AND NOT ${MATIO_LIB_FILE} MATCHES ".*\\.a")
string(REGEX REPLACE "^lib" "" MATIO_LIB_NAME ${MATIO_LIB_NAME})
endif()
set(FAUST_PYTHON_LIBS "${FAUST_PYTHON_LIBS},'${MATIO_LIB_NAME}'")
set(FAUST_PYTHON_LIB_DIR "${FAUST_PYTHON_LIB_DIR},'${MATIO_LIB_DIR}'")
endif()
set(PROC_LIST CPU)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment