diff --git a/CMakeLists.txt b/CMakeLists.txt index de49ca32..b28dd364 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,15 +9,9 @@ set(CMAKE_CONFIG_DIR etc/OpenFace) set(CONFIG_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_CONFIG_DIR}") add_definitions(-DCONFIG_DIR="${CONFIG_DIR}") -if (APPLE) - find_package( OpenBLAS REQUIRED ) - include_directories( ${OpenBLAS_INCLUDE_DIRS} ) - LINK_DIRECTORIES(${OpenBLAS_LIBRARY_DIRS}) -else() - find_package( BLAS REQUIRED ) - include_directories( ${BLAS_INCLUDE_DIRS} ) - LINK_DIRECTORIES(${BLAS_LIBRARY_DIRS}) -endif() +find_package( BLAS REQUIRED ) +include_directories( ${BLAS_INCLUDE_DIRS} ) +LINK_DIRECTORIES(${BLAS_LIBRARY_DIRS}) find_package( OpenCV 3.3 REQUIRED ) diff --git a/cmake/modules/FindBLAS.cmake b/cmake/modules/FindBLAS.cmake index 2684617f..334a2627 100644 --- a/cmake/modules/FindBLAS.cmake +++ b/cmake/modules/FindBLAS.cmake @@ -1,6 +1,3 @@ -# Distributed under the OSI-approved BSD 3-Clause License. See accompanying -# file Copyright.txt or https://cmake.org/licensing for details. - #.rst: # FindBLAS # -------- @@ -32,32 +29,26 @@ # all the possibilities # BLA_F95 if set on tries to find the f95 interfaces for BLAS/LAPACK # -# List of vendors (BLA_VENDOR) valid in this module: +# ######### ## List of vendors (BLA_VENDOR) valid in this module # +# Goto,OpenBLAS,ATLAS PhiPACK,CXML,DXML,SunPerf,SCSL,SGIMATH,IBMESSL, +# Intel10_32 (intel mkl v10 32 bit),Intel10_64lp (intel mkl v10 64 bit, +# lp thread model, lp64 model), # Intel10_64lp_seq (intel mkl v10 64 +# bit,sequential code, lp64 model), # Intel( older versions of mkl 32 +# and 64 bit), ACML,ACML_MP,ACML_GPU,Apple, NAS, Generic C/CXX should be +# enabled to use Intel mkl + +#============================================================================= +# Copyright 2007-2009 Kitware, Inc. # -# * Goto -# * OpenBLAS -# * ATLAS PhiPACK -# * CXML -# * DXML -# * SunPerf -# * SCSL -# * SGIMATH -# * IBMESSL -# * Intel10_32 (intel mkl v10 32 bit) -# * Intel10_64lp (intel mkl v10 64 bit, lp thread model, lp64 model) -# * Intel10_64lp_seq (intel mkl v10 64 bit, sequential code, lp64 model) -# * Intel (older versions of mkl 32 and 64 bit) -# * ACML -# * ACML_MP -# * ACML_GPU -# * Apple -# * NAS -# * Generic -# -# .. note:: -# -# C/CXX should be enabled to use Intel mkl +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. # +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= +# (To distribute this file outside of CMake, substitute the full +# License text for the above reference.) include(${CMAKE_CURRENT_LIST_DIR}/CheckFunctionExists.cmake) include(${CMAKE_CURRENT_LIST_DIR}/CheckFortranFunctionExists.cmake) @@ -68,7 +59,12 @@ set(CMAKE_REQUIRED_QUIET ${BLAS_FIND_QUIETLY}) set(_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) # Check the language being used -if( NOT (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED OR CMAKE_Fortran_COMPILER_LOADED) ) +get_property( _LANGUAGES_ GLOBAL PROPERTY ENABLED_LANGUAGES ) +if( _LANGUAGES_ MATCHES Fortran ) + set( _CHECK_FORTRAN TRUE ) +elseif( (_LANGUAGES_ MATCHES C) OR (_LANGUAGES_ MATCHES CXX) ) + set( _CHECK_FORTRAN FALSE ) +else() if(BLAS_FIND_REQUIRED) message(FATAL_ERROR "FindBLAS requires Fortran, C, or C++ to be enabled.") else() @@ -136,7 +132,7 @@ if(_libraries_work) # Test this combination of libraries. set(CMAKE_REQUIRED_LIBRARIES ${_flags} ${${LIBRARIES}} ${_thread}) # message("DEBUG: CMAKE_REQUIRED_LIBRARIES = ${CMAKE_REQUIRED_LIBRARIES}") - if (CMAKE_Fortran_COMPILER_LOADED) + if (_CHECK_FORTRAN) check_fortran_function_exists("${_name}" ${_prefix}${_combined_name}_WORKS) else() check_function_exists("${_name}_" ${_prefix}${_combined_name}_WORKS) @@ -442,20 +438,6 @@ if (BLA_VENDOR MATCHES "ACML" OR BLA_VENDOR STREQUAL "All") endif() endif () # ACML -# Apple BLAS library? -if (BLA_VENDOR STREQUAL "Apple" OR BLA_VENDOR STREQUAL "All") -if(NOT BLAS_LIBRARIES) - check_fortran_libraries( - BLAS_LIBRARIES - BLAS - dgemm - "" - "Accelerate" - "" - ) - endif() -endif () - if (BLA_VENDOR STREQUAL "NAS" OR BLA_VENDOR STREQUAL "All") if ( NOT BLAS_LIBRARIES ) check_fortran_libraries( @@ -487,7 +469,7 @@ if (BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All") if (NOT WIN32) set(LM "-lm") endif () - if (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED) + if (_LANGUAGES_ MATCHES C OR _LANGUAGES_ MATCHES CXX) if(BLAS_FIND_QUIETLY OR NOT BLAS_FIND_REQUIRED) find_package(Threads) else() @@ -709,4 +691,4 @@ else() endif() cmake_pop_check_state() -set(CMAKE_FIND_LIBRARY_SUFFIXES ${_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) +set(CMAKE_FIND_LIBRARY_SUFFIXES ${_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) \ No newline at end of file