1
if(__EIGEN_BLAS_INCLUDED)
4
set(__EIGEN_BLAS_INCLUDED TRUE)
6
if(NOT INTERN_BUILD_MOBILE OR NOT INTERN_USE_EIGEN_BLAS)
10
##############################################################################
11
# Eigen BLAS is built together with Libtorch mobile.
12
# By default, it builds code from third-party/eigen/blas submodule.
13
##############################################################################
15
set(CAFFE2_THIRD_PARTY_ROOT ${PROJECT_SOURCE_DIR}/third_party)
16
set(EIGEN_BLAS_SRC_DIR "${CAFFE2_THIRD_PARTY_ROOT}/eigen/blas" CACHE STRING "Eigen BLAS source directory")
19
${EIGEN_BLAS_SRC_DIR}/single.cpp
20
${EIGEN_BLAS_SRC_DIR}/double.cpp
21
${EIGEN_BLAS_SRC_DIR}/complex_single.cpp
22
${EIGEN_BLAS_SRC_DIR}/complex_double.cpp
23
${EIGEN_BLAS_SRC_DIR}/xerbla.cpp
24
${EIGEN_BLAS_SRC_DIR}/f2c/srotm.c
25
${EIGEN_BLAS_SRC_DIR}/f2c/srotmg.c
26
${EIGEN_BLAS_SRC_DIR}/f2c/drotm.c
27
${EIGEN_BLAS_SRC_DIR}/f2c/drotmg.c
28
${EIGEN_BLAS_SRC_DIR}/f2c/lsame.c
29
${EIGEN_BLAS_SRC_DIR}/f2c/dspmv.c
30
${EIGEN_BLAS_SRC_DIR}/f2c/ssbmv.c
31
${EIGEN_BLAS_SRC_DIR}/f2c/chbmv.c
32
${EIGEN_BLAS_SRC_DIR}/f2c/sspmv.c
33
${EIGEN_BLAS_SRC_DIR}/f2c/zhbmv.c
34
${EIGEN_BLAS_SRC_DIR}/f2c/chpmv.c
35
${EIGEN_BLAS_SRC_DIR}/f2c/dsbmv.c
36
${EIGEN_BLAS_SRC_DIR}/f2c/zhpmv.c
37
${EIGEN_BLAS_SRC_DIR}/f2c/dtbmv.c
38
${EIGEN_BLAS_SRC_DIR}/f2c/stbmv.c
39
${EIGEN_BLAS_SRC_DIR}/f2c/ctbmv.c
40
${EIGEN_BLAS_SRC_DIR}/f2c/ztbmv.c
41
${EIGEN_BLAS_SRC_DIR}/f2c/d_cnjg.c
42
${EIGEN_BLAS_SRC_DIR}/f2c/r_cnjg.c
43
${EIGEN_BLAS_SRC_DIR}/f2c/complexdots.c
46
add_library(eigen_blas STATIC ${EigenBlas_SRCS})
48
# We build static versions of eigen blas but link into a shared library, so they need PIC.
49
set_property(TARGET eigen_blas PROPERTY POSITION_INDEPENDENT_CODE ON)
51
install(TARGETS eigen_blas
52
LIBRARY DESTINATION lib
53
ARCHIVE DESTINATION lib)