1*523fa7a6SAndroid Build Coastguard Worker# Copyright (c) Meta Platforms, Inc. and affiliates. 2*523fa7a6SAndroid Build Coastguard Worker# All rights reserved. 3*523fa7a6SAndroid Build Coastguard Worker# 4*523fa7a6SAndroid Build Coastguard Worker# This source code is licensed under the BSD-style license found in the 5*523fa7a6SAndroid Build Coastguard Worker# LICENSE file in the root directory of this source tree. 6*523fa7a6SAndroid Build Coastguard Worker 7*523fa7a6SAndroid Build Coastguard Workerif(__EIGEN_BLAS_INCLUDED) 8*523fa7a6SAndroid Build Coastguard Worker return() 9*523fa7a6SAndroid Build Coastguard Workerendif() 10*523fa7a6SAndroid Build Coastguard Workerset(__EIGEN_BLAS_INCLUDED TRUE) 11*523fa7a6SAndroid Build Coastguard Worker 12*523fa7a6SAndroid Build Coastguard Worker# ############################################################################## 13*523fa7a6SAndroid Build Coastguard Worker# Eigen BLAS is built together with Libtorch mobile. By default, it builds code 14*523fa7a6SAndroid Build Coastguard Worker# from third-party/eigen/blas submodule. 15*523fa7a6SAndroid Build Coastguard Worker# ############################################################################## 16*523fa7a6SAndroid Build Coastguard Worker 17*523fa7a6SAndroid Build Coastguard Workerset(EIGEN_BLAS_SRC_DIR 18*523fa7a6SAndroid Build Coastguard Worker "${CMAKE_CURRENT_SOURCE_DIR}/third-party/eigen/blas" 19*523fa7a6SAndroid Build Coastguard Worker CACHE STRING "Eigen BLAS source directory" 20*523fa7a6SAndroid Build Coastguard Worker) 21*523fa7a6SAndroid Build Coastguard Worker 22*523fa7a6SAndroid Build Coastguard Workerset(EigenBlas_SRCS 23*523fa7a6SAndroid Build Coastguard Worker ${EIGEN_BLAS_SRC_DIR}/single.cpp 24*523fa7a6SAndroid Build Coastguard Worker ${EIGEN_BLAS_SRC_DIR}/double.cpp 25*523fa7a6SAndroid Build Coastguard Worker ${EIGEN_BLAS_SRC_DIR}/complex_single.cpp 26*523fa7a6SAndroid Build Coastguard Worker ${EIGEN_BLAS_SRC_DIR}/complex_double.cpp 27*523fa7a6SAndroid Build Coastguard Worker ${EIGEN_BLAS_SRC_DIR}/xerbla.cpp 28*523fa7a6SAndroid Build Coastguard Worker ${EIGEN_BLAS_SRC_DIR}/f2c/srotm.c 29*523fa7a6SAndroid Build Coastguard Worker ${EIGEN_BLAS_SRC_DIR}/f2c/srotmg.c 30*523fa7a6SAndroid Build Coastguard Worker ${EIGEN_BLAS_SRC_DIR}/f2c/drotm.c 31*523fa7a6SAndroid Build Coastguard Worker ${EIGEN_BLAS_SRC_DIR}/f2c/drotmg.c 32*523fa7a6SAndroid Build Coastguard Worker ${EIGEN_BLAS_SRC_DIR}/f2c/lsame.c 33*523fa7a6SAndroid Build Coastguard Worker ${EIGEN_BLAS_SRC_DIR}/f2c/dspmv.c 34*523fa7a6SAndroid Build Coastguard Worker ${EIGEN_BLAS_SRC_DIR}/f2c/ssbmv.c 35*523fa7a6SAndroid Build Coastguard Worker ${EIGEN_BLAS_SRC_DIR}/f2c/chbmv.c 36*523fa7a6SAndroid Build Coastguard Worker ${EIGEN_BLAS_SRC_DIR}/f2c/sspmv.c 37*523fa7a6SAndroid Build Coastguard Worker ${EIGEN_BLAS_SRC_DIR}/f2c/zhbmv.c 38*523fa7a6SAndroid Build Coastguard Worker ${EIGEN_BLAS_SRC_DIR}/f2c/chpmv.c 39*523fa7a6SAndroid Build Coastguard Worker ${EIGEN_BLAS_SRC_DIR}/f2c/dsbmv.c 40*523fa7a6SAndroid Build Coastguard Worker ${EIGEN_BLAS_SRC_DIR}/f2c/zhpmv.c 41*523fa7a6SAndroid Build Coastguard Worker ${EIGEN_BLAS_SRC_DIR}/f2c/dtbmv.c 42*523fa7a6SAndroid Build Coastguard Worker ${EIGEN_BLAS_SRC_DIR}/f2c/stbmv.c 43*523fa7a6SAndroid Build Coastguard Worker ${EIGEN_BLAS_SRC_DIR}/f2c/ctbmv.c 44*523fa7a6SAndroid Build Coastguard Worker ${EIGEN_BLAS_SRC_DIR}/f2c/ztbmv.c 45*523fa7a6SAndroid Build Coastguard Worker ${EIGEN_BLAS_SRC_DIR}/f2c/complexdots.c 46*523fa7a6SAndroid Build Coastguard Worker) 47*523fa7a6SAndroid Build Coastguard Worker 48*523fa7a6SAndroid Build Coastguard Workeradd_library(eigen_blas STATIC ${EigenBlas_SRCS}) 49*523fa7a6SAndroid Build Coastguard Worker 50*523fa7a6SAndroid Build Coastguard Worker# Dont know what to do with this We build static versions of eigen blas but link 51*523fa7a6SAndroid Build Coastguard Worker# into a shared library, so they need PIC. 52*523fa7a6SAndroid Build Coastguard Workerset_property(TARGET eigen_blas PROPERTY POSITION_INDEPENDENT_CODE ON) 53*523fa7a6SAndroid Build Coastguard Worker 54*523fa7a6SAndroid Build Coastguard Workerinstall( 55*523fa7a6SAndroid Build Coastguard Worker TARGETS eigen_blas 56*523fa7a6SAndroid Build Coastguard Worker LIBRARY DESTINATION lib 57*523fa7a6SAndroid Build Coastguard Worker ARCHIVE DESTINATION lib 58*523fa7a6SAndroid Build Coastguard Worker) 59