xref: /aosp_15_r20/external/pytorch/cmake/Modules/FindAtlas.cmake (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1# Find the Atlas (and Lapack) libraries
2#
3# The following variables are optionally searched for defaults
4#  Atlas_ROOT_DIR:            Base directory where all Atlas components are found
5#
6# The following are set after configuration is done:
7#  Atlas_FOUND
8#  Atlas_INCLUDE_DIRS
9#  Atlas_LIBRARIES
10#  Atlas_LIBRARYRARY_DIRS
11
12set(Atlas_INCLUDE_SEARCH_PATHS
13  /usr/include/atlas
14  /usr/include/atlas-base
15  $ENV{Atlas_ROOT_DIR}
16  $ENV{Atlas_ROOT_DIR}/include
17)
18
19set(Atlas_LIB_SEARCH_PATHS
20  /usr/lib/atlas
21  /usr/lib/atlas-base
22  $ENV{Atlas_ROOT_DIR}
23  $ENV{Atlas_ROOT_DIR}/lib
24)
25
26find_path(Atlas_CBLAS_INCLUDE_DIR   NAMES cblas.h   PATHS ${Atlas_INCLUDE_SEARCH_PATHS})
27find_path(Atlas_CLAPACK_INCLUDE_DIR NAMES clapack.h PATHS ${Atlas_INCLUDE_SEARCH_PATHS})
28
29find_library(Atlas_CBLAS_LIBRARY NAMES  ptcblas_r ptcblas cblas_r cblas       PATHS ${Atlas_LIB_SEARCH_PATHS})
30find_library(Atlas_BLAS_LIBRARY NAMES   atlas_r   atlas                       PATHS ${Atlas_LIB_SEARCH_PATHS})
31find_library(Atlas_LAPACK_LIBRARY NAMES lapack alapack_r alapack lapack_atlas PATHS ${Atlas_LIB_SEARCH_PATHS})
32
33set(LOOKED_FOR
34  Atlas_CBLAS_INCLUDE_DIR
35  Atlas_CLAPACK_INCLUDE_DIR
36
37  Atlas_CBLAS_LIBRARY
38  Atlas_BLAS_LIBRARY
39  Atlas_LAPACK_LIBRARY
40)
41
42include(FindPackageHandleStandardArgs)
43find_package_handle_standard_args(Atlas DEFAULT_MSG ${LOOKED_FOR})
44
45if(ATLAS_FOUND)
46  set(Atlas_INCLUDE_DIR ${Atlas_CBLAS_INCLUDE_DIR} ${Atlas_CLAPACK_INCLUDE_DIR})
47  set(Atlas_LIBRARIES ${Atlas_LAPACK_LIBRARY} ${Atlas_CBLAS_LIBRARY} ${Atlas_BLAS_LIBRARY})
48  mark_as_advanced(${LOOKED_FOR})
49
50  message(STATUS "Found Atlas (include: ${Atlas_CBLAS_INCLUDE_DIR}, library: ${Atlas_BLAS_LIBRARY})")
51endif(ATLAS_FOUND)
52