xref: /aosp_15_r20/external/pytorch/cmake/Modules/FindOpenBLAS.cmake (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1*da0073e9SAndroid Build Coastguard Worker
2*da0073e9SAndroid Build Coastguard Worker
3*da0073e9SAndroid Build Coastguard WorkerSET(Open_BLAS_INCLUDE_SEARCH_PATHS
4*da0073e9SAndroid Build Coastguard Worker  /usr/include
5*da0073e9SAndroid Build Coastguard Worker  /usr/include/openblas
6*da0073e9SAndroid Build Coastguard Worker  /usr/include/openblas-base
7*da0073e9SAndroid Build Coastguard Worker  /usr/local/include
8*da0073e9SAndroid Build Coastguard Worker  /usr/local/include/openblas
9*da0073e9SAndroid Build Coastguard Worker  /usr/local/include/openblas-base
10*da0073e9SAndroid Build Coastguard Worker  /usr/local/opt/openblas/include
11*da0073e9SAndroid Build Coastguard Worker  /opt/OpenBLAS/include
12*da0073e9SAndroid Build Coastguard Worker  $ENV{OpenBLAS_HOME}
13*da0073e9SAndroid Build Coastguard Worker  $ENV{OpenBLAS_HOME}/include
14*da0073e9SAndroid Build Coastguard Worker  $ENV{OpenBLAS_HOME}/include/openblas
15*da0073e9SAndroid Build Coastguard Worker)
16*da0073e9SAndroid Build Coastguard Worker
17*da0073e9SAndroid Build Coastguard WorkerSET(Open_BLAS_LIB_SEARCH_PATHS
18*da0073e9SAndroid Build Coastguard Worker        /lib/
19*da0073e9SAndroid Build Coastguard Worker        /lib/openblas-base
20*da0073e9SAndroid Build Coastguard Worker        /lib64/
21*da0073e9SAndroid Build Coastguard Worker        /usr/lib
22*da0073e9SAndroid Build Coastguard Worker        /usr/lib/openblas-base
23*da0073e9SAndroid Build Coastguard Worker        /usr/lib64
24*da0073e9SAndroid Build Coastguard Worker        /usr/local/lib
25*da0073e9SAndroid Build Coastguard Worker        /usr/local/lib64
26*da0073e9SAndroid Build Coastguard Worker        /usr/local/opt/openblas/lib
27*da0073e9SAndroid Build Coastguard Worker        /opt/OpenBLAS/lib
28*da0073e9SAndroid Build Coastguard Worker        $ENV{OpenBLAS}
29*da0073e9SAndroid Build Coastguard Worker        $ENV{OpenBLAS}/lib
30*da0073e9SAndroid Build Coastguard Worker        $ENV{OpenBLAS_HOME}
31*da0073e9SAndroid Build Coastguard Worker        $ENV{OpenBLAS_HOME}/lib
32*da0073e9SAndroid Build Coastguard Worker )
33*da0073e9SAndroid Build Coastguard Worker
34*da0073e9SAndroid Build Coastguard WorkerFIND_PATH(OpenBLAS_INCLUDE_DIR NAMES cblas.h PATHS ${Open_BLAS_INCLUDE_SEARCH_PATHS})
35*da0073e9SAndroid Build Coastguard WorkerFIND_LIBRARY(OpenBLAS_LIB NAMES openblas PATHS ${Open_BLAS_LIB_SEARCH_PATHS})
36*da0073e9SAndroid Build Coastguard Worker
37*da0073e9SAndroid Build Coastguard WorkerSET(OpenBLAS_FOUND ON)
38*da0073e9SAndroid Build Coastguard Worker
39*da0073e9SAndroid Build Coastguard Worker#    Check include files
40*da0073e9SAndroid Build Coastguard WorkerIF(NOT OpenBLAS_INCLUDE_DIR)
41*da0073e9SAndroid Build Coastguard Worker    SET(OpenBLAS_FOUND OFF)
42*da0073e9SAndroid Build Coastguard Worker    MESSAGE(STATUS "Could not find OpenBLAS include. Turning OpenBLAS_FOUND off")
43*da0073e9SAndroid Build Coastguard WorkerENDIF()
44*da0073e9SAndroid Build Coastguard Worker
45*da0073e9SAndroid Build Coastguard Worker#    Check libraries
46*da0073e9SAndroid Build Coastguard WorkerIF(NOT OpenBLAS_LIB)
47*da0073e9SAndroid Build Coastguard Worker    SET(OpenBLAS_FOUND OFF)
48*da0073e9SAndroid Build Coastguard Worker    MESSAGE(STATUS "Could not find OpenBLAS lib. Turning OpenBLAS_FOUND off")
49*da0073e9SAndroid Build Coastguard WorkerENDIF()
50*da0073e9SAndroid Build Coastguard Worker
51*da0073e9SAndroid Build Coastguard WorkerIF (OpenBLAS_FOUND)
52*da0073e9SAndroid Build Coastguard Worker  IF (NOT OpenBLAS_FIND_QUIETLY)
53*da0073e9SAndroid Build Coastguard Worker    MESSAGE(STATUS "Found OpenBLAS libraries: ${OpenBLAS_LIB}")
54*da0073e9SAndroid Build Coastguard Worker    MESSAGE(STATUS "Found OpenBLAS include: ${OpenBLAS_INCLUDE_DIR}")
55*da0073e9SAndroid Build Coastguard Worker  ENDIF (NOT OpenBLAS_FIND_QUIETLY)
56*da0073e9SAndroid Build Coastguard WorkerELSE (OpenBLAS_FOUND)
57*da0073e9SAndroid Build Coastguard Worker  IF (OpenBLAS_FIND_REQUIRED)
58*da0073e9SAndroid Build Coastguard Worker    MESSAGE(FATAL_ERROR "Could not find OpenBLAS")
59*da0073e9SAndroid Build Coastguard Worker  ENDIF (OpenBLAS_FIND_REQUIRED)
60*da0073e9SAndroid Build Coastguard WorkerENDIF (OpenBLAS_FOUND)
61*da0073e9SAndroid Build Coastguard Worker
62*da0073e9SAndroid Build Coastguard WorkerMARK_AS_ADVANCED(
63*da0073e9SAndroid Build Coastguard Worker    OpenBLAS_INCLUDE_DIR
64*da0073e9SAndroid Build Coastguard Worker    OpenBLAS_LIB
65*da0073e9SAndroid Build Coastguard Worker    OpenBLAS
66*da0073e9SAndroid Build Coastguard Worker)
67