CMakeLists.txt 2.53 KB
Newer Older
1 2 3 4 5
###
#
# @copyright (c) 2009-2014 The University of Tennessee and The University
#                          of Tennessee Research Foundation.
#                          All rights reserved.
6
# @copyright (c) 2012-2016 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 21 22 23 24 25
#
###
#
# @file CMakeLists.c
#
#  MORSE example routines
#  MORSE is a software package provided by Inria Bordeaux - Sud-Ouest, LaBRI,
#  University of Bordeaux, Bordeaux INP
#
#  @version 1.0.0
#  @author Florent Pruvost
#  @date 2014-10-13
#
###
include_directories(${CMAKE_CURRENT_BINARY_DIR})
include_directories(${CMAKE_CURRENT_SOURCE_DIR})

# compilation for other sources step1 and >
26
set(LTM_SOURCES
27 28 29 30 31 32
    step1.c
    step2.c
    step3.c
    step4.c
    step5.c
    step6.c
33
    step7.c
34 35 36 37 38 39
   )

# Define what libraries we have to link with
# ------------------------------------------
unset(libs_for_ltm)
list(APPEND libs_for_ltm
40 41 42
  chameleon
  coreblas
  ${LAPACKE_LIBRARIES}
43 44
)

45
# specific compilation for step0 because we potentially want to use
46 47
# multithreaded BLAS and LAPACK libraries for this step
unset(libs_for_step0)
48 49 50 51 52 53 54 55
list(APPEND libs_for_step0
  ${libs_for_ltm}
  ${CBLAS_LIBRARIES}
  )

if(LAPACK_PAR_LIBRARIES)
  list(APPEND libs_for_step0
    ${LAPACK_PAR_LIBRARIES}
56 57
    )
else()
58 59 60 61
  list(APPEND libs_for_step0
    ${LAPACK_SEQ_LIBRARIES}
    )
endif()
62

63 64 65 66 67 68 69 70
if(BLAS_PAR_LIBRARIES)
  list(APPEND libs_for_step0
    ${BLAS_PAR_LIBRARIES}
    )
else()
  list(APPEND libs_for_step0
    ${BLAS_SEQ_LIBRARIES}
    )
71 72
endif()

73 74 75 76 77 78 79 80 81 82 83 84 85 86
list(APPEND libs_for_step0
  ${EXTRA_LIBRARIES}
  )

list(APPEND libs_for_ltm
  ${LAPACK_SEQ_LIBRARIES}
  ${BLAS_SEQ_LIBRARIES}
  ${EXTRA_LIBRARIES}
  )

link_directories(${LAPACKE_LIBRARY_DIRS})
link_directories(${LAPACK_LIBRARY_DIRS})
link_directories(${CBLAS_LIBRARY_DIRS})
link_directories(${BLAS_LIBRARY_DIRS})
87 88

# message(STATUS "libs examples: ${libs_for_ltm}")
89 90 91 92 93 94
foreach(_ltm ${LTM_SOURCES})
    get_filename_component(_name_exe ${_ltm} NAME_WE)
    add_executable(${_name_exe} ${_ltm})
    set_property(TARGET ${_name_exe} PROPERTY LINKER_LANGUAGE Fortran)
    target_link_libraries(${_name_exe} ${libs_for_ltm})
    install(TARGETS ${_name_exe}
95
            DESTINATION bin/example/lapack_to_morse)
96 97 98 99 100 101
endforeach()

add_executable(step0 step0.c)
set_property(TARGET step0 PROPERTY LINKER_LANGUAGE Fortran)
target_link_libraries(step0 ${libs_for_step0})
install(TARGETS step0
102
        DESTINATION bin/example/lapack_to_morse)
103

104 105 106
#-------- Tests ---------
include(CTestLists.cmake)

107 108 109
###
### END CMakeLists.txt
###