CMakeLists.txt 3.04 KB
Newer Older
1 2 3 4 5 6
###
#
# @copyright (c) 2009-2014 The University of Tennessee and The University
#                          of Tennessee Research Foundation.
#                          All rights reserved.
# @copyright (c) 2012-2014 Inria. All rights reserved.
7
# @copyright (c) 2012-2014 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, Univ. Bordeaux. All rights reserved.
8 9 10 11 12 13 14 15 16 17 18 19 20
#
###
#
#  @file CMakeLists.txt
#
#  @project MORSE
#  MORSE is a software package provided by:
#     Inria Bordeaux - Sud-Ouest,
#     Univ. of Tennessee,
#     King Abdullah Univesity of Science and Technology
#     Univ. of California Berkeley,
#     Univ. of Colorado Denver.
#
21
#  @version 0.9.0
22 23 24 25 26 27 28 29 30
#  @author Cedric Castagnede
#  @author Emmanuel Agullo
#  @author Mathieu Faverge
#  @date 13-07-2012
#
###

# Generate the morse sources for all possible precisions
# ------------------------------------------------------
31

32 33 34
set(COREBLAS_SRCS_GENERATED "")
set(ZSRC
    core_dzasum.c
35
    core_zaxpy.c
36
    core_zgeadd.c
37
    core_zlascal.c
38 39 40 41 42 43 44 45 46 47
    core_zgelqt.c
    core_zgemm.c
    core_zgeqrt.c
    core_zgesplit.c
    core_zgessm.c
    core_zgessq.c
    core_zgetf2_nopiv.c
    core_zgetrf.c
    core_zgetrf_incpiv.c
    core_zgetrf_nopiv.c
48 49
    core_zhe2ge.c
    core_zherfb.c
50 51 52
    core_zhemm.c
    core_zher2k.c
    core_zherk.c
53
    core_zhessq.c
54 55 56 57 58 59 60 61
    core_zlacpy.c
    core_zlag2c.c
    core_zlange.c
    core_zlanhe.c
    core_zlansy.c
    core_zlantr.c
    core_zlaset2.c
    core_zlaset.c
62
    core_zlatro.c
63 64 65 66 67 68 69 70 71 72 73 74 75 76
    core_zlauum.c
    core_zpamm.c
    core_zparfb.c
    core_zpemv.c
    core_zplghe.c
    core_zplgsy.c
    core_zplrnt.c
    core_zpotrf.c
    core_zssssm.c
    core_zsymm.c
    core_zsyr2k.c
    core_zsyrk.c
    core_zsyssq.c
    core_zsytf2_nopiv.c
77 78
    core_ztpqrt.c
    core_ztpmqrt.c
79
    core_ztradd.c
80 81 82 83 84 85 86 87
    core_ztrasm.c
    core_ztrmm.c
    core_ztrsm.c
    core_ztrssq.c
    core_ztrtri.c
    core_ztslqt.c
    core_ztsmlq.c
    core_ztsmqr.c
88 89
    core_ztsmlq_hetra1.c
    core_ztsmqr_hetra1.c
90 91 92 93 94 95 96 97 98 99 100
    core_ztsqrt.c
    core_ztstrf.c
    core_zttlqt.c
    core_zttmlq.c
    core_zttmqr.c
    core_zttqrt.c
    core_zunmlq.c
    core_zunmqr.c
    )

precisions_rules_py(COREBLAS_SRCS_GENERATED "${ZSRC}"
101
                    PRECISIONS "${CHAMELEON_PRECISION}")
102 103 104 105 106 107

set(COREBLAS_SRCS
    global.c
    ${COREBLAS_SRCS_GENERATED}
    )

108 109 110 111 112
# Force generation of sources
# ---------------------------
add_custom_target(coreblas_sources ALL SOURCES ${COREBLAS_SRCS})
set(CHAMELEON_SOURCES_TARGETS "${CHAMELEON_SOURCES_TARGETS};coreblas_sources" CACHE INTERNAL "List of targets of sources")

113 114 115
# Compile step
# ------------
add_library(coreblas ${COREBLAS_SRCS})
116
list(INSERT CHAMELEON_DEP 0 -lcoreblas)
117
add_dependencies(coreblas coreblas_include)
118 119
set_property(TARGET coreblas PROPERTY LINKER_LANGUAGE Fortran)
set_property(TARGET coreblas PROPERTY INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib")
120

121 122 123 124 125 126
target_link_libraries(coreblas
  ${LAPACKE_LIBRARIES}
  ${LAPACK_SEQ_LIBRARIES}
  ${CBLAS_LIBRARIES}
  ${BLAS_SEQ_LIBRARIES}
  )
127

128
# Installation
129 130
# ------------
install(TARGETS coreblas
131 132
  ARCHIVE DESTINATION lib
  LIBRARY DESTINATION lib)
133 134 135 136

###
### END CMakeLists.txt
###