Download 3rdparty/caffe/cmake/Modules/FindLAPACK.cmake from camenduru/openpose: direct link, hf CLI and curl.
- Browser
- Download file 6.72 kB
-
https://huggingface.co/camenduru/openpose/resolve/main/3rdparty/caffe/cmake/Modules/FindLAPACK.cmake
- Command line
-
hf download hf://camenduru/openpose/3rdparty/caffe/cmake/Modules/FindLAPACK.cmake
-
curl -L -o FindLAPACK.cmake https://huggingface.co/camenduru/openpose/resolve/main/3rdparty/caffe/cmake/Modules/FindLAPACK.cmake
6.72 kB
| # - Find LAPACK library | |
| # This module finds an installed fortran library that implements the LAPACK | |
| # linear-algebra interface (see http://www.netlib.org/lapack/). | |
| # | |
| # The approach follows that taken for the autoconf macro file, acx_lapack.m4 | |
| # (distributed at http://ac-archive.sourceforge.net/ac-archive/acx_lapack.html). | |
| # | |
| # This module sets the following variables: | |
| # LAPACK_FOUND - set to true if a library implementing the LAPACK interface is found | |
| # LAPACK_LIBRARIES - list of libraries (using full path name) for LAPACK | |
| # Note: I do not think it is a good idea to mixup different BLAS/LAPACK versions | |
| # Hence, this script wants to find a Lapack library matching your Blas library | |
| # Do nothing if LAPACK was found before | |
| IF(NOT LAPACK_FOUND) | |
| SET(LAPACK_LIBRARIES) | |
| SET(LAPACK_INFO) | |
| IF(LAPACK_FIND_QUIETLY OR NOT LAPACK_FIND_REQUIRED) | |
| FIND_PACKAGE(BLAS) | |
| ELSE(LAPACK_FIND_QUIETLY OR NOT LAPACK_FIND_REQUIRED) | |
| FIND_PACKAGE(BLAS REQUIRED) | |
| ENDIF(LAPACK_FIND_QUIETLY OR NOT LAPACK_FIND_REQUIRED) | |
| # Old search lapack script | |
| include(CheckFortranFunctionExists) | |
| macro(Check_Lapack_Libraries LIBRARIES _prefix _name _flags _list _blas) | |
| # This macro checks for the existence of the combination of fortran libraries | |
| # given by _list. If the combination is found, this macro checks (using the | |
| # Check_Fortran_Function_Exists macro) whether can link against that library | |
| # combination using the name of a routine given by _name using the linker | |
| # flags given by _flags. If the combination of libraries is found and passes | |
| # the link test, LIBRARIES is set to the list of complete library paths that | |
| # have been found. Otherwise, LIBRARIES is set to FALSE. | |
| # N.B. _prefix is the prefix applied to the names of all cached variables that | |
| # are generated internally and marked advanced by this macro. | |
| set(_libraries_work TRUE) | |
| set(${LIBRARIES}) | |
| set(_combined_name) | |
| foreach(_library ${_list}) | |
| set(_combined_name ${_combined_name}_${_library}) | |
| if(_libraries_work) | |
| if (WIN32) | |
| find_library(${_prefix}_${_library}_LIBRARY | |
| NAMES ${_library} PATHS ENV LIB PATHS ENV PATH) | |
| else (WIN32) | |
| if(APPLE) | |
| find_library(${_prefix}_${_library}_LIBRARY | |
| NAMES ${_library} | |
| PATHS /usr/local/lib /usr/lib /usr/local/lib64 /usr/lib64 | |
| ENV DYLD_LIBRARY_PATH) | |
| else(APPLE) | |
| find_library(${_prefix}_${_library}_LIBRARY | |
| NAMES ${_library} | |
| PATHS /usr/local/lib /usr/lib /usr/local/lib64 /usr/lib64 | |
| ENV LD_LIBRARY_PATH) | |
| endif(APPLE) | |
| endif(WIN32) | |
| mark_as_advanced(${_prefix}_${_library}_LIBRARY) | |
| set(${LIBRARIES} ${${LIBRARIES}} ${${_prefix}_${_library}_LIBRARY}) | |
| set(_libraries_work ${${_prefix}_${_library}_LIBRARY}) | |
| endif(_libraries_work) | |
| endforeach(_library ${_list}) | |
| if(_libraries_work) | |
| # Test this combination of libraries. | |
| set(CMAKE_REQUIRED_LIBRARIES ${_flags} ${${LIBRARIES}} ${_blas}) | |
| if (CMAKE_Fortran_COMPILER_WORKS) | |
| check_fortran_function_exists(${_name} ${_prefix}${_combined_name}_WORKS) | |
| else (CMAKE_Fortran_COMPILER_WORKS) | |
| check_function_exists("${_name}_" ${_prefix}${_combined_name}_WORKS) | |
| endif (CMAKE_Fortran_COMPILER_WORKS) | |
| set(CMAKE_REQUIRED_LIBRARIES) | |
| mark_as_advanced(${_prefix}${_combined_name}_WORKS) | |
| set(_libraries_work ${${_prefix}${_combined_name}_WORKS}) | |
| endif(_libraries_work) | |
| if(NOT _libraries_work) | |
| set(${LIBRARIES} FALSE) | |
| endif(NOT _libraries_work) | |
| endmacro(Check_Lapack_Libraries) | |
| if(BLAS_FOUND) | |
| # Intel MKL | |
| IF((NOT LAPACK_INFO) AND (BLAS_INFO STREQUAL "mkl")) | |
| IF(MKL_LAPACK_LIBRARIES) | |
| SET(LAPACK_LIBRARIES ${MKL_LAPACK_LIBRARIES} ${MKL_LIBRARIES}) | |
| ELSE(MKL_LAPACK_LIBRARIES) | |
| SET(LAPACK_LIBRARIES ${MKL_LIBRARIES}) | |
| ENDIF(MKL_LAPACK_LIBRARIES) | |
| SET(LAPACK_INCLUDE_DIR ${MKL_INCLUDE_DIR}) | |
| SET(LAPACK_INFO "mkl") | |
| ENDIF() | |
| # OpenBlas | |
| IF((NOT LAPACK_INFO) AND (BLAS_INFO STREQUAL "open")) | |
| SET(CMAKE_REQUIRED_LIBRARIES ${BLAS_LIBRARIES}) | |
| check_function_exists("cheev_" OPEN_LAPACK_WORKS) | |
| if(OPEN_LAPACK_WORKS) | |
| SET(LAPACK_INFO "open") | |
| else() | |
| message(STATUS "It seems OpenBlas has not been compiled with Lapack support") | |
| endif() | |
| endif() | |
| # GotoBlas | |
| IF((NOT LAPACK_INFO) AND (BLAS_INFO STREQUAL "goto")) | |
| SET(CMAKE_REQUIRED_LIBRARIES ${BLAS_LIBRARIES}) | |
| check_function_exists("cheev_" GOTO_LAPACK_WORKS) | |
| if(GOTO_LAPACK_WORKS) | |
| SET(LAPACK_INFO "goto") | |
| else() | |
| message(STATUS "It seems GotoBlas has not been compiled with Lapack support") | |
| endif() | |
| endif() | |
| # ACML | |
| IF((NOT LAPACK_INFO) AND (BLAS_INFO STREQUAL "acml")) | |
| SET(CMAKE_REQUIRED_LIBRARIES ${BLAS_LIBRARIES}) | |
| check_function_exists("cheev_" ACML_LAPACK_WORKS) | |
| if(ACML_LAPACK_WORKS) | |
| SET(LAPACK_INFO "acml") | |
| else() | |
| message(STATUS "Strangely, this ACML library does not support Lapack?!") | |
| endif() | |
| endif() | |
| # Accelerate | |
| IF((NOT LAPACK_INFO) AND (BLAS_INFO STREQUAL "accelerate")) | |
| SET(CMAKE_REQUIRED_LIBRARIES ${BLAS_LIBRARIES}) | |
| check_function_exists("cheev_" ACCELERATE_LAPACK_WORKS) | |
| if(ACCELERATE_LAPACK_WORKS) | |
| SET(LAPACK_INFO "accelerate") | |
| else() | |
| message(STATUS "Strangely, this Accelerate library does not support Lapack?!") | |
| endif() | |
| endif() | |
| # vecLib | |
| IF((NOT LAPACK_INFO) AND (BLAS_INFO STREQUAL "veclib")) | |
| SET(CMAKE_REQUIRED_LIBRARIES ${BLAS_LIBRARIES}) | |
| check_function_exists("cheev_" VECLIB_LAPACK_WORKS) | |
| if(VECLIB_LAPACK_WORKS) | |
| SET(LAPACK_INFO "veclib") | |
| else() | |
| message(STATUS "Strangely, this vecLib library does not support Lapack?!") | |
| endif() | |
| endif() | |
| # Generic LAPACK library? | |
| IF((NOT LAPACK_INFO) AND (BLAS_INFO STREQUAL "generic")) | |
| check_lapack_libraries( | |
| LAPACK_LIBRARIES | |
| LAPACK | |
| cheev | |
| "" | |
| "lapack" | |
| "${BLAS_LIBRARIES}" | |
| ) | |
| if(LAPACK_LIBRARIES) | |
| SET(LAPACK_INFO "generic") | |
| endif(LAPACK_LIBRARIES) | |
| endif() | |
| else(BLAS_FOUND) | |
| message(STATUS "LAPACK requires BLAS") | |
| endif(BLAS_FOUND) | |
| if(LAPACK_INFO) | |
| set(LAPACK_FOUND TRUE) | |
| else(LAPACK_INFO) | |
| set(LAPACK_FOUND FALSE) | |
| endif(LAPACK_INFO) | |
| IF (NOT LAPACK_FOUND AND LAPACK_FIND_REQUIRED) | |
| message(FATAL_ERROR "Cannot find a library with LAPACK API. Please specify library location.") | |
| ENDIF (NOT LAPACK_FOUND AND LAPACK_FIND_REQUIRED) | |
| IF(NOT LAPACK_FIND_QUIETLY) | |
| IF(LAPACK_FOUND) | |
| MESSAGE(STATUS "Found a library with LAPACK API. (${LAPACK_INFO})") | |
| ELSE(LAPACK_FOUND) | |
| MESSAGE(STATUS "Cannot find a library with LAPACK API. Not using LAPACK.") | |
| ENDIF(LAPACK_FOUND) | |
| ENDIF(NOT LAPACK_FIND_QUIETLY) | |
| # Do nothing if LAPACK was found before | |
| ENDIF(NOT LAPACK_FOUND) | |