Mentions légales du service

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

Generalize matio static libs option to matlab in addition to python (143be5e4).

parent c6ba730c
Branches
Tags 2.2rc6
No related merge requests found
Pipeline #833836 skipped
...@@ -136,7 +136,7 @@ package_linux_release: ...@@ -136,7 +136,7 @@ package_linux_release:
package_linux_release_static: package_linux_release_static:
script: script:
- if [[ ! -d 'build' ]]; then mkdir build;fi; cd build - if [[ ! -d 'build' ]]; then mkdir build;fi; cd build
- 'cmake -DBUILD_WRAPPER_PYTHON=ON -DBUILD_WRAPPER_MATLAB=ON -DBUILD_DOCUMENTATION=ON -DCMAKE_INSTALL_PREFIX=/opt/local/faust -DCPACK_PACKAGE_FILE_NAME=faust-$CI_COMMIT_TAG-static -DCPACK_PACKAGE_VERSION=$CI_COMMIT_TAG -DEXCLUDE_FAUST_LIB_INSTALL=ON -DPYTHON_USES_MATIO_STATIC_LIBS=ON -DMATIO_STATIC_LIB_PATH=/opt/local/matio-1.5.7/src/.libs/libmatio.a -DZ_STATIC_LIB_PATH=/opt/local/zlib-1.2.11/libz.a -DHDF5_STATIC_LIB_PATH=/opt/local/hdf5-1.8.18/src/.libs/libhdf5.a ..' - 'cmake -DBUILD_WRAPPER_PYTHON=ON -DBUILD_WRAPPER_MATLAB=ON -DBUILD_DOCUMENTATION=ON -DCMAKE_INSTALL_PREFIX=/opt/local/faust -DCPACK_PACKAGE_FILE_NAME=faust-$CI_COMMIT_TAG-static -DCPACK_PACKAGE_VERSION=$CI_COMMIT_TAG -DEXCLUDE_FAUST_LIB_INSTALL=ON -DUSE_MATIO_STATIC_LIBS=ON -DMATIO_STATIC_LIB_PATH=/opt/local/matio-1.5.7/src/.libs/libmatio.a -DZ_STATIC_LIB_PATH=/opt/local/zlib-1.2.11/libz.a -DHDF5_STATIC_LIB_PATH=/opt/local/hdf5-1.8.18/src/.libs/libhdf5.a ..'
- make - make
- cpack -G RPM -C CPackConfig.cmake - cpack -G RPM -C CPackConfig.cmake
- cpack -G DEB -C CPackConfig.cmake - cpack -G DEB -C CPackConfig.cmake
......
...@@ -111,9 +111,25 @@ if (BUILD_WRAPPER_MATLAB) ...@@ -111,9 +111,25 @@ if (BUILD_WRAPPER_MATLAB)
include(CMake/findMatlab.cmake) include(CMake/findMatlab.cmake)
endif(BUILD_WRAPPER_MATLAB) endif(BUILD_WRAPPER_MATLAB)
######## MATIO INCLUDE AND LIBRARY ################## ######## MATIO INCLUDE AND LIBRARY ##################
if (BUILD_READ_MAT_FILE) # we always use matio (faust's functionality, not just for testing)
include(CMake/findMATIOLib.cmake) if(${USE_MATIO_STATIC_LIBS})
endif(BUILD_READ_MAT_FILE) if(NOT MATIO_STATIC_LIB_PATH OR NOT Z_STATIC_LIB_PATH OR NOT HDF5_STATIC_LIB_PATH)
message(FATAL_ERROR "When you set USE_MATIO_STATIC_LIBS to ON the variables MATIO_STATIC_LIB_PATH, Z_STATIC_LIB_PATH and HDF5_STATIC_LIB_PATH must be set to the full paths of static libs (.a)")
endif()
if(NOT EXISTS ${MATIO_STATIC_LIB_PATH})
message(FATAL_ERROR "The filepath for matio doesn't exist: ${MATIO_STATIC_LIB_PATH}")
elseif(NOT EXISTS ${Z_STATIC_LIB_PATH})
message(FATAL_ERROR "The filepath for zlib doesn't exist: ${Z_STATIC_LIB_PATH}")
elseif(NOT EXISTS ${HDF5_STATIC_LIB_PATH})
message(FATAL_ERROR "The filepath for hdf5 lib doesn't exist: ${HDF5_STATIC_LIB_PATH}")
endif()
add_library(MATIO_STATIC_LIB STATIC IMPORTED GLOBAL)
add_library(Z_STATIC_LIB STATIC IMPORTED GLOBAL)
add_library(HDF5_STATIC_LIB STATIC IMPORTED GLOBAL)
endif()
#if (BUILD_READ_MAT_FILE)
include(CMake/findMATIOLib.cmake)
#endif(BUILD_READ_MAT_FILE)
######## XML INCLUDE AND LIBRARY ################## ######## XML INCLUDE AND LIBRARY ##################
if (BUILD_READ_XML_FILE) if (BUILD_READ_XML_FILE)
include(CMake/findXML2Lib.cmake) include(CMake/findXML2Lib.cmake)
......
...@@ -209,7 +209,7 @@ option(BUILD_READ_MAT_FILE "Using matio library to read mat files" ON) ...@@ -209,7 +209,7 @@ option(BUILD_READ_MAT_FILE "Using matio library to read mat files" ON)
option(BUILD_WRAPPER_PYTHON "Enable building PyFaust (Python librairie)." OFF) option(BUILD_WRAPPER_PYTHON "Enable building PyFaust (Python librairie)." OFF)
#set(BUILD_WRAPPER_PYTHON OFF) #set(BUILD_WRAPPER_PYTHON OFF)
option(PYTHON_USES_MATIO_STATIC_LIBS OFF) # if ON the script waits several variables to option(USE_MATIO_STATIC_LIBS OFF) # if ON the script waits several variables to
# be set: MATIO_STATIC_LIB_PATH, Z_STATIC_LIB_PATH, HDF5_STATIC_LIB_PATH # be set: MATIO_STATIC_LIB_PATH, Z_STATIC_LIB_PATH, HDF5_STATIC_LIB_PATH
#CMAKE_DEPENDENT_OPTION #CMAKE_DEPENDENT_OPTION
...@@ -871,18 +871,18 @@ ELSE(WIN32 AND NOT UNIX) ...@@ -871,18 +871,18 @@ ELSE(WIN32 AND NOT UNIX)
#SET (CPACK_RPM_PACKAGE_REQUIRES ) #SET (CPACK_RPM_PACKAGE_REQUIRES )
#set(CPACK_RPM_COMPONENT_INSTALL ON) #set(CPACK_RPM_COMPONENT_INSTALL ON)
set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST "/opt") set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST "/opt") # to not conflict with filesystem package on fedora
set(CPACK_RPM_PACKAGE_REQUIRES "matio >= 1.5.7") if(NOT ${USE_MATIO_STATIC_LIBS})
#TODO: set(CPACK_DEBIAN_PACKAGE_DEPENDS "matio") set(CPACK_RPM_PACKAGE_REQUIRES "matio >= 1.5.7")
#set(CPACK_DEBIAN_PACKAGE_DEPENDS "matio")
endif()
if(BUILD_WRAPPER_PYTHON) if(BUILD_WRAPPER_PYTHON)
#set(CPACK_RPM_PACKAGE_REQUIRES "${CPACK_RPM_PACKAGE_REQUIRES}, python3 >= 3.6.5, python3-numpy >= 1.13.3, python3-scipy >= 1.0.0") #set(CPACK_RPM_PACKAGE_REQUIRES "${CPACK_RPM_PACKAGE_REQUIRES}, python3 >= 3.6.5, python3-numpy >= 1.13.3, python3-scipy >= 1.0.0")
#TODO: set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, python3, python3-numpy, python3-scipy) #set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, python3, python3-numpy, python3-scipy)
endif()
if(BUILD_WRAPPER_MATLAB)
#TODO: for debian package also ?
set(CPACK_RPM_SPEC_MORE_DEFINE "%define __requires_exclude ^libmex[.]so.*|libmat[.]so.*|libmx[.]so.*|libpython.*[.]so.*$ ")
endif() endif()
#TODO: for debian package also ?
set(CPACK_RPM_SPEC_MORE_DEFINE "%define __requires_exclude ^libmex[.]so.*|libmat[.]so.*|libmx[.]so.*|libpython.*[.]so.*$ ")
set(CPACK_RPM_PACKAGE_RELEASE "1") set(CPACK_RPM_PACKAGE_RELEASE "1")
SET(CPACK_RPM_PACKAGE_LICENSE "GNU AFFERO GENERAL PUBLIC LICENSE") SET(CPACK_RPM_PACKAGE_LICENSE "GNU AFFERO GENERAL PUBLIC LICENSE")
......
...@@ -61,11 +61,15 @@ endif() ...@@ -61,11 +61,15 @@ endif()
if(UNIX) if(UNIX)
# we always use matio # we always use matio
string(REGEX REPLACE "^(.+)/.*$" "-L\\1" LDD_MEX_FLAGS "${MATIO_LIB_FILE}") if(${USE_MATIO_STATIC_LIBS})
set(LDD_MEX_FLAGS ${LDD_MEX_FLAGS} "-L${FAUST_BIN_DIR}" "-l${FAUST_TARGET}" "-lmatio") set(LDD_MEX_FLAGS ${LDD_MEX_FLAGS} "-L${FAUST_BIN_DIR}" "-l${FAUST_TARGET}" "${MATIO_STATIC_LIB_PATH}" "${HDF5_STATIC_LIB_PATH}" "${Z_STATIC_LIB_PATH}")
if(BUILD_OPENBLAS) else()
set(LDD_MEX_FLAGS "${LDD_MEX_FLAGS}" "${OPENBLAS_LIB_FILE}") string(REGEX REPLACE "^(.+)/.*$" "-L\\1" LDD_MEX_FLAGS "${MATIO_LIB_FILE}")
endif() 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) elseif(WIN32)
# MODIF ALALAL # MODIF ALALAL
#set(LDD_MEX_FLAGS "-L${FAUST_BIN_DIR}" "-l${FAUST_TARGET}") #set(LDD_MEX_FLAGS "-L${FAUST_BIN_DIR}" "-l${FAUST_TARGET}")
......
set(FAUST_PYTHON_LIB_DIR "'${FAUST_BIN_DIR}'") set(FAUST_PYTHON_LIB_DIR "'${FAUST_BIN_DIR}'")
if(${PYTHON_USES_MATIO_STATIC_LIBS}) if(${USE_MATIO_STATIC_LIBS})
if(NOT MATIO_STATIC_LIB_PATH OR NOT Z_STATIC_LIB_PATH OR NOT HDF5_STATIC_LIB_PATH)
message(FATAL_ERROR "When you set PYTHON_USES_MATIO_STATIC_LIBS to ON the variables MATIO_STATIC_LIB_PATH, Z_STATIC_LIB_PATH and HDF5_STATIC_LIB_PATH must be set to the full paths of static libs (.a)")
endif()
if(NOT EXISTS ${MATIO_STATIC_LIB_PATH})
message(FATAL_ERROR "The filepath for matio doesn't exist: ${MATIO_STATIC_LIB_PATH}")
elseif(NOT EXISTS ${Z_STATIC_LIB_PATH})
message(FATAL_ERROR "The filepath for zlib doesn't exist: ${Z_STATIC_LIB_PATH}")
elseif(NOT EXISTS ${HDF5_STATIC_LIB_PATH})
message(FATAL_ERROR "The filepath for hdf5 lib doesn't exist: ${HDF5_STATIC_LIB_PATH}")
endif()
set(PYTHON_EXT_EXTRA_OBJECTS "[ '${MATIO_STATIC_LIB_PATH}', '${HDF5_STATIC_LIB_PATH}', '${Z_STATIC_LIB_PATH}']") # the order matters for compilation set(PYTHON_EXT_EXTRA_OBJECTS "[ '${MATIO_STATIC_LIB_PATH}', '${HDF5_STATIC_LIB_PATH}', '${Z_STATIC_LIB_PATH}']") # the order matters for compilation
else() else()
set(PYTHON_EXT_EXTRA_OBJECTS "None") set(PYTHON_EXT_EXTRA_OBJECTS "None")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment