Mentions légales du service

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

Add a new package generation for linux using static libs for python wrapper.

The new static libs are matio and its dependencies.
parent 207f423d
No related branches found
No related tags found
No related merge requests found
Pipeline #833825 skipped
......@@ -93,6 +93,8 @@ package_linux:
- schedules
- tags
# jobs triggered by git tag can force cpack to use the tag name as version but it's not necessary for MacOSX (not using cpack for that sys.)
# it's done for linux packages
......@@ -129,3 +131,20 @@ package_linux_release:
- linux
only:
- tags
package_linux_release_static:
script:
- 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 ..'
- make
- cpack -G RPM -C CPackConfig.cmake
- cpack -G DEB -C CPackConfig.cmake
- lftp -u $FTP_SERV_USER,$FTP_SERV_PASS -e 'set ssl:verify-certificate no;mput faust-*.rpm faust-*.deb;quit' $FTP_SERV_HOST
- 'mv faust-*rpm faust-*.deb $HOME'
tags:
- linux
only:
- tags
......@@ -199,7 +199,7 @@ option(BUILD_DEBUG "Enable FAUST Debug mode." OFF)
option(BUILD_USE_GPU "Using both CPU and GPU process" OFF)
option(BUILD_WRAPPER_MATLAB "Enable building Matlab MEX files." OFF)
# Using openBLAS for matrix and vector computations
option(BUILD_OPENBLAS "Using openBLAS for matrix and vector computations" OFF)
# different type of files
option(BUILD_READ_XML_FILE "Using xml configuration to read xml files" OFF)
......@@ -209,7 +209,8 @@ option(BUILD_READ_MAT_FILE "Using matio library to read mat files" ON)
option(BUILD_WRAPPER_PYTHON "Enable building PyFaust (Python librairie)." OFF)
#set(BUILD_WRAPPER_PYTHON OFF)
option(PYTHON_USES_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
#CMAKE_DEPENDENT_OPTION
......
set(FAUST_PYTHON_LIB_DIR "'${FAUST_BIN_DIR}'")
if(${PYTHON_USES_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
else()
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)
string(REGEX REPLACE "^lib" "" MATIO_LIB_NAME ${MATIO_LIB_NAME})
set(FAUST_PYTHON_LIBS ",'${MATIO_LIB_NAME}'")
set(FAUST_PYTHON_LIB_DIR "${FAUST_PYTHON_LIB_DIR},'${MATIO_LIB_DIR}'")
endif()
......@@ -14,12 +34,7 @@ set(FAUST_PYTHON_INCLUDE_DIR "'${EIGEN_INC_DIR}',
'${MATIO_INC_DIR}'")
get_filename_component(MATIO_LIB_DIR ${MATIO_LIB_FILE} DIRECTORY)
get_filename_component(MATIO_LIB_NAME ${MATIO_LIB_FILE} NAME_WE)
string(REGEX REPLACE "^lib" "" MATIO_LIB_NAME ${MATIO_LIB_NAME})
set(FAUST_PYTHON_LIB_DIR "'${FAUST_BIN_DIR}', '${MATIO_LIB_DIR}'")
set(FAUST_PYTHON_LIBS ",'${MATIO_LIB_NAME}'")
if(BUILD_OPENBLAS)
......
......@@ -49,7 +49,8 @@ PyFaust = Extension('FaustCorePy',
include_dirs=[@FAUST_PYTHON_INCLUDE_DIR@, numpy.get_include()],
library_dirs=[@FAUST_PYTHON_LIB_DIR@],
libraries=['faust'@FAUST_PYTHON_LIBS@],
extra_compile_args = [ "-std=c++11"]
extra_compile_args = [ "-std=c++11"],
extra_objects = @PYTHON_EXT_EXTRA_OBJECTS@
)
setup(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment