Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 0c6e71ef authored by Adrien Leman's avatar Adrien Leman Committed by hhakim
Browse files

external lib modif

parent 80ccb1cd
Branches
Tags
No related merge requests found
...@@ -18,7 +18,7 @@ function(add_library_path LIB_TMP_PATH) ...@@ -18,7 +18,7 @@ function(add_library_path LIB_TMP_PATH)
set(${LIB_TMP_PATH} ${${LIB_TMP_PATH}} PARENT_SCOPE ) set(${LIB_TMP_PATH} ${${LIB_TMP_PATH}} PARENT_SCOPE )
endif() endif()
else() else()
message(STATUS "${loop_var} directory has been ignored, as it does not exist") #message(STATUS "${loop_var} directory has been ignored, as it does not exist")
endif() endif()
endforeach() endforeach()
endfunction() endfunction()
...@@ -44,7 +44,7 @@ function(add_include_path INC_TMP_PATH) ...@@ -44,7 +44,7 @@ function(add_include_path INC_TMP_PATH)
set(${INC_TMP_PATH} ${${INC_TMP_PATH}} PARENT_SCOPE ) set(${INC_TMP_PATH} ${${INC_TMP_PATH}} PARENT_SCOPE )
endif() endif()
else() else()
message(STATUS "${loop_var} directory has been ignored, as it does not exist") #message(STATUS "${loop_var} directory has been ignored, as it does not exist")
endif() endif()
endforeach() endforeach()
endfunction() endfunction()
......
...@@ -6,7 +6,7 @@ macro(check_external_libraries LIBRARY_NAME LIBRARY_FILE IS_NECESSARY) ...@@ -6,7 +6,7 @@ macro(check_external_libraries LIBRARY_NAME LIBRARY_FILE IS_NECESSARY)
if(${LIBRARY_FILE}) if(${LIBRARY_FILE})
message(STATUS "${LIBRARY_NAME} library found") message(STATUS "${LIBRARY_NAME} library found")
else() else()
message(STATUS "${LIBRARY_FILE} has not been set") #message(STATUS "${LIBRARY_FILE} has not been set")
if(${IS_NECESSARY}) if(${IS_NECESSARY})
message(FATAL_ERROR "${LIBRARY_NAME} library not found !!!") message(FATAL_ERROR "${LIBRARY_NAME} library not found !!!")
else() else()
...@@ -24,7 +24,7 @@ macro(check_external_includes INCLUDE_NAME INCLUDE_FILE IS_NECESSARY) ...@@ -24,7 +24,7 @@ macro(check_external_includes INCLUDE_NAME INCLUDE_FILE IS_NECESSARY)
if(${INCLUDE_FILE}) if(${INCLUDE_FILE})
message(STATUS "${INCLUDE_NAME} header found") message(STATUS "${INCLUDE_NAME} header found")
else() else()
message(STATUS "${INCLUDE_FILE} has not been set") #message(STATUS "${INCLUDE_FILE} has not been set")
if(${IS_NECESSARY}) if(${IS_NECESSARY})
message(FATAL_ERROR "${INCLUDE_NAME} header not found !!!") message(FATAL_ERROR "${INCLUDE_NAME} header not found !!!")
else() else()
......
### find and/or install eigen lib (cf. http://eigen.tuxfamily.org/index.php?title=Main_Page) ### find and/or install eigen lib (cf. http://eigen.tuxfamily.org/index.php?title=Main_Page)
set(INCLUDE_PATH_LIST ${LIBRARY_PATH_LIST_TMP_DEFAULT}) # CACHE PATH "List of include paths used as PATH parameter in find_path") set(INCLUDE_PATH_LIST ${INCLUDE_PATH_LIST_TMP_DEFAULT}) # CACHE PATH "List of include paths used as PATH parameter in find_path")
check_external_includes("Eigen/Dense" EIGEN_INC_DIR 0) # on test avec INCLUDE_PATH_LIST_TMP_DEFAULT check_external_includes("Eigen/Dense" EIGEN_INC_DIR 0) # on test avec INCLUDE_PATH_LIST_TMP_DEFAULT
if (EIGEN_INC_DIR) if (EIGEN_INC_DIR)
message(STATUS "Eigen library is available here: ${EIGEN_INC_DIR}") message(STATUS "Eigen library is available here: ${EIGEN_INC_DIR}")
......
...@@ -35,7 +35,7 @@ add_library_path(LIBRARY_PATH_LIST_TMP_DEFAULT "/opt/OpenBLAS" ...@@ -35,7 +35,7 @@ add_library_path(LIBRARY_PATH_LIST_TMP_DEFAULT "/opt/OpenBLAS"
add_include_path(INCLUDE_PATH_LIST_TMP_DEFAULT "/opt/OpenBLAS" add_include_path(INCLUDE_PATH_LIST_TMP_DEFAULT "/opt/OpenBLAS"
"${PROJECT_SOURCE_DIR}/externals/unix/OpenBLAS" "${PROJECT_SOURCE_DIR}/externals/unix/OpenBLAS"
"/usr/include/eigen3_" "/usr/include/eigen3"
"${PROJECT_SOURCE_DIR}/externals/unix/eigen" "${PROJECT_SOURCE_DIR}/externals/unix/eigen"
) )
...@@ -43,7 +43,7 @@ add_include_path(INCLUDE_PATH_LIST_TMP_DEFAULT "/opt/OpenBLAS" ...@@ -43,7 +43,7 @@ add_include_path(INCLUDE_PATH_LIST_TMP_DEFAULT "/opt/OpenBLAS"
set(LIBRARY_PATH_LIST ${LIBRARY_PATH_LIST_TMP_DEFAULT}) # CACHE PATH "List of library paths used as PATH parameter in find_library") set(LIBRARY_PATH_LIST ${LIBRARY_PATH_LIST_TMP_DEFAULT}) # CACHE PATH "List of library paths used as PATH parameter in find_library")
set(INCLUDE_PATH_LIST ${INCLUDE_PATH_LIST_TMP_DEFAULT})# CACHE PATH "List of include paths used as PATH parameter in find_path") set(INCLUDE_PATH_LIST ${INCLUDE_PATH_LIST_TMP_DEFAULT})# CACHE PATH "List of include paths used as PATH parameter in find_path")
#message(STATUS "DEFAULT LIBRARY_PATH_LIST=${LIBRARY_PATH_LIST}") #message(STATUS "DEFAULT LIBRARY_PATH_LIST=${LIBRARY_PATH_LIST}")
#message(STATUS "DEFAULT INCLUDE_PATH_LIST=${INCLUDE_PATH_LIST}") message(STATUS "DEFAULT INCLUDE_PATH_LIST=${INCLUDE_PATH_LIST}")
######## EIGEN ############## ######## EIGEN ##############
include(CMake/findEIGENLib.cmake) include(CMake/findEIGENLib.cmake)
...@@ -51,89 +51,11 @@ include(CMake/findEIGENLib.cmake) ...@@ -51,89 +51,11 @@ include(CMake/findEIGENLib.cmake)
if (FAUST_USE_OPENBLAS) if (FAUST_USE_OPENBLAS)
include(CMake/findOPENBLASLib.cmake) include(CMake/findOPENBLASLib.cmake)
endif(FAUST_USE_OPENBLAS) endif(FAUST_USE_OPENBLAS)
######## MATLAB INCLUDE AND LIBRARY ##################
############################
###### test if executable matlab is in the path ######
if (FAUST_USE_MEX) if (FAUST_USE_MEX)
if(UNIX) include(CMake/findMatlab.cmake)
#message(STATUS "MATLAB_DIR_TMP 1 = ${MATLAB_DIR_TMP}")
exec_program("which matlab | xargs echo" OUTPUT_VARIABLE MATLAB_DIR_TMP)
#message(STATUS "MATLAB_DIR_TMP 2 = ${MATLAB_DIR_TMP}")
exec_program("readlink ${MATLAB_DIR_TMP}" OUTPUT_VARIABLE READLINK_TMP)
#message(STATUS "READLINK_TMP = ${READLINK_TMP}")
if(${READLINK_TMP} MATCHES matlab)
set(MATLAB_DIR_TMP ${READLINK_TMP})
#message(STATUS "MATLAB_DIR_TMP 3 = ${MATLAB_DIR_TMP}")
endif()
#message(STATUS "MATLAB_DIR_TMP 4 = ${MATLAB_DIR_TMP}")
elseif(WIN32)
exec_program("where matlab.exe" OUTPUT_VARIABLE MATLAB_DIR_TMP)
else()
message(WARNING "Unknown type of plateform for matlab")
endif()
if( ${MATLAB_DIR_TMP} MATCHES "matlab")
if(UNIX)
string(REGEX REPLACE "([a-zA-Z0-9_/:]+)/bin/matlab" "\\1" MATLAB_ROOT "${MATLAB_DIR_TMP}")
elseif(WIN32)
string(REGEX REPLACE "([a-zA-Z0-9_\\:]+)\\\\bin\\\\matlab.exe" "\\1" MATLAB_ROOT "${MATLAB_DIR_TMP}")
else()
message(WARNING "Unknown type of plateform for matlab")
endif()
set(MATLAB_ROOT ${MATLAB_ROOT} CACHE PATH "Matlab root directory")
message(STATUS "MATLAB_ROOT has been found : ${MATLAB_ROOT}")
set(MATLAB_INCLUDE_DIR "${MATLAB_ROOT}/extern/include" CACHE INTERNAL "Matlab include directory")
set(MATLAB_ARCH_FILE "${FAUST_TMP_BUILD_DIR}/matlab_arch.txt")
# LINUX AND APPLE METHOD ARE VERY SIMILAR, CODE COULD BE FACTORIZED
if(UNIX)
if(APPLE)
exec_program("ls ${MATLAB_ROOT}/extern/lib | grep -i mac" OUTPUT_VARIABLE MEX_SUBDIR_LIB)
if("${MEX_SUBDIR_LIB}" STREQUAL "maci64")
set(MEX_EXT "mexmaci64")
elseif("${MEX_SUBDIR_LIB}" STREQUAL "maci")
set(MEX_EXT "mexmaci")
endif()
# METHODE 1 (without using matlab)
else(APPLE)
exec_program("ls ${MATLAB_ROOT}/extern/lib | grep -i glnx" OUTPUT_VARIABLE MEX_SUBDIR_LIB)
if("${MEX_SUBDIR_LIB}" STREQUAL "glnxa64")
set(MEX_EXT "mexa64")
elseif("${MEX_SUBDIR_LIB}" STREQUAL "glnx86")
set(MEX_EXT "mexa32")
endif()
endif(APPLE)
# METHODE 2 (using matlab)
#exec_program("matlab -wait -nodesktop -nojvm -nodisplay -r \"fid=fopen('${MATLAB_ARCH_FILE}','w');fprintf(fid,'%s\\n%s\\n',computer('arch'),mexext);fclose(fid);exit\" > ${FAUST_TMP_BUILD_DIR}/matlab_output.log")
#exec_program("cat ${MATLAB_ARCH_FILE} | head -n 1" OUTPUT_VARIABLE MEX_SUBDIR_LIB)
#exec_program("cat ${MATLAB_ARCH_FILE} | head -n 2 | tail -n 1" OUTPUT_VARIABLE MEX_EXT)
elseif(WIN32)
# METHODE 1 (without using matlab)
execute_process(COMMAND ${PROJECT_SOURCE_DIR}/CMake/matlab_arch.bat "2" "${MATLAB_ROOT}" OUTPUT_VARIABLE MEX_SUBDIR_LIB)
string(REGEX REPLACE "\n" "" MEX_SUBDIR_LIB ${MEX_SUBDIR_LIB})
if("${MEX_SUBDIR_LIB}" STREQUAL "win64")
set(MEX_EXT "mexw64")
elseif("${MEX_SUBDIR_LIB}" STREQUAL "win32")
set(MEX_EXT "mexw32")
endif()
# METHODE 2 (using matlab)
#exec_program("${PROJECT_SOURCE_DIR}/CMake/matlab_arch.bat 0 \"${MATLAB_ARCH_FILE}\"" OUTPUT_VARIABLE MEX_SUBDIR_LIB)
#exec_program("${PROJECT_SOURCE_DIR}/CMake/matlab_arch.bat 1 \"${MATLAB_ARCH_FILE}\"" OUTPUT_VARIABLE MEX_EXT)
else()
message(WARNING "Unknown type of plateform for matlab")
endif()
else()
set(MATLAB_ROOT "" CACHE PATH "Matlab root directory")
message(WARNING "Matlab executable seems not to be in the path. So \"MATLAB_ROOT\" and \"MATLAB_INCLUDE_DIR\" wont'be defined and mex files won't be compiled. if matlab is installed on your computer, please add matlabroot/bin tu the PATH and try again.")
endif()
endif(FAUST_USE_MEX) endif(FAUST_USE_MEX)
##################################################################
add_library_path(LIBRARY_PATH_LIST_TMP3 "$ENV{CUDADIR}" "$ENV{MATIODIR}" "$ENV{HDF5_ROOT_DIR}" "$ENV{OPENBLASDIR}" "/usr" "/usr/local" "/usr/local/lib" "/opt" "/opt/local" "/usr/lib/x86_64-linux-gnu/" "${PROJECT_SOURCE_DIR}/externals" ) add_library_path(LIBRARY_PATH_LIST_TMP3 "$ENV{CUDADIR}" "$ENV{MATIODIR}" "$ENV{HDF5_ROOT_DIR}" "$ENV{OPENBLASDIR}" "/usr" "/usr/local" "/usr/local/lib" "/opt" "/opt/local" "/usr/lib/x86_64-linux-gnu/" "${PROJECT_SOURCE_DIR}/externals" )
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment