Browse Source

Merge pull request #1327 from martin-frbg/cmake-relapack

Make ReLAPACK available in cmake builds
tags/v0.3.0
Martin Kroeker GitHub 8 years ago
parent
commit
b7cee00455
3 changed files with 93 additions and 1 deletions
  1. +5
    -1
      CMakeLists.txt
  2. +3
    -0
      cmake/system.cmake
  3. +85
    -0
      relapack/src/CMakeLists.txt

+ 5
- 1
CMakeLists.txt View File

@@ -24,6 +24,7 @@ option(BUILD_WITHOUT_LAPACK "Without LAPACK and LAPACKE (Only BLAS or CBLAS)" ON
endif()
option(BUILD_WITHOUT_CBLAS "Without CBLAS" OFF)
option(DYNAMIC_ARCH "Build with DYNAMIC_ARCH" OFF)
option(BUILD_RELAPACK "Build with ReLAPACK (recursive LAPACK" OFF)
#######
if(BUILD_WITHOUT_LAPACK)
set(NO_LAPACK 1)
@@ -55,6 +56,9 @@ endif ()
set(SUBDIRS ${BLASDIRS})
if (NOT NO_LAPACK)
list(APPEND SUBDIRS lapack)
if(BUILD_RELAPACK)
list(APPEND SUBDIRS relapack/src)
endif()
endif ()

# set which float types we want to build for
@@ -141,7 +145,7 @@ endif()


# add objects to the openblas lib
add_library(${OpenBLAS_LIBNAME} ${LA_SOURCES} ${LAPACKE_SOURCES} ${TARGET_OBJS} ${OpenBLAS_DEF_FILE})
add_library(${OpenBLAS_LIBNAME} ${LA_SOURCES} ${LAPACKE_SOURCES} ${RELA_SOURCES} ${TARGET_OBJS} ${OpenBLAS_DEF_FILE})

# Handle MSVC exports
if(MSVC AND BUILD_SHARED_LIBS)


+ 3
- 0
cmake/system.cmake View File

@@ -387,6 +387,9 @@ if (NOT NO_LAPACK)
if (NOT NO_LAPACKE)
set(LIB_COMPONENTS "${LIB_COMPONENTS} LAPACKE")
endif ()
if (BUILD_RELAPACK)
set(LIB_COMPONENTS "${LIB_COMPONENTS} ReLAPACK")
endif ()
endif ()

if (ONLY_CBLAS)


+ 85
- 0
relapack/src/CMakeLists.txt View File

@@ -0,0 +1,85 @@
include_directories(${PROJECT_SOURCE_DIR})
include_directories(${PROJECT_BINARY_DIR})
set(RELAFILES
clauum.c
ctrsyl_rec2.c
dsytrf.c
spbtrf.c
strsyl_rec2.c
zhetrf_rook_rec2.c
ztrsyl.c
cgbtrf.c
cpbtrf.c
ctrtri.c
dsytrf_rec2.c
spotrf.c
strtri.c
zlauum.c
ztrsyl_rec2.c
cgemmt.c
cpotrf.c
dgbtrf.c
dsytrf_rook.c
lapack_wrappers.c
ssygst.c
zgbtrf.c
zpbtrf.c
ztrtri.c
cgetrf.c
csytrf.c
dgemmt.c
dsytrf_rook_rec2.c
ssytrf.c
zgemmt.c
zpotrf.c
chegst.c
csytrf_rec2.c
dgetrf.c
dtgsyl.c
ssytrf_rec2.c
zgetrf.c
zsytrf.c
chetrf.c
csytrf_rook.c
dlauum.c
dtrsyl.c
sgbtrf.c
ssytrf_rook.c
zhegst.c
zsytrf_rec2.c
chetrf_rec2.c
csytrf_rook_rec2.c
dpbtrf.c
dtrsyl_rec2.c
sgemmt.c
ssytrf_rook_rec2.c
zhetrf.c
zsytrf_rook.c
chetrf_rook.c
ctgsyl.c
dpotrf.c
dtrtri.c
sgetrf.c
stgsyl.c
zhetrf_rec2.c
zsytrf_rook_rec2.c
chetrf_rook_rec2.c
ctrsyl.c
dsygst.c
f2c.c
slauum.c
strsyl.c
zhetrf_rook.c
ztgsyl.c
)
# add relapack folder to the sources
set(RELA_SOURCES "")
foreach (RELA_FILE ${RELAFILES})
list(APPEND RELA_SOURCES "${PROJECT_SOURCE_DIR}/relapack/src/${RELA_FILE}")
endforeach ()
add_library(relapack_src OBJECT ${RELA_SOURCES})
set_source_files_properties(${RELA_SOURCES} PROPERTIES COMPILE_FLAGS "${LAPACK_CFLAGS}")

Loading…
Cancel
Save