diff --git a/CMakeLists.txt b/CMakeLists.txt index a93fe7c54c3ca1a955096e646d1f9a3317c2e0b0..745f08cb9a66f992617ab28c3b8c3c4281ecca49 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -912,6 +912,7 @@ if (MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_SOURCE_DIR}/cmake_modules/") -lchameleon_starpu ${STARPU_LIBRARIES_DEP} ) + link_directories(${STARPU_LIBRARY_DIRS_DEP}) elseif(CHAMELEON_SCHED_PARSEC) list(APPEND CHAMELEON_DEP -lchameleon_parsec diff --git a/compute/CMakeLists.txt b/compute/CMakeLists.txt index 784b42d1f05119a068c5647d9a1b807dade3a714..68a77fe561d452f473a2eef963774b4c3675bcc0 100644 --- a/compute/CMakeLists.txt +++ b/compute/CMakeLists.txt @@ -248,6 +248,15 @@ endif(HAVE_ISO_C_BINDING) # ------------ add_library(chameleon ${CHAMELEON_SRCS} ${CHAMELEON_SRCSF}) +target_link_libraries(chameleon coreblas) +if(CHAMELEON_SCHED_STARPU) + target_link_libraries(chameleon chameleon_starpu) +elseif(CHAMELEON_SCHED_PARSEC) + target_link_libraries(chameleon chameleon_parsec) +elseif(CHAMELEON_SCHED_QUARK) + target_link_libraries(chameleon chameleon_quark) +endif() + add_dependencies(chameleon chameleon_include coreblas_include diff --git a/coreblas/compute/CMakeLists.txt b/coreblas/compute/CMakeLists.txt index e50cb56f2bc6e10fd34f78d996de2b1084a5641d..6dc104b74a527d790c76b5f0e9b3bc584cb1d8f3 100644 --- a/coreblas/compute/CMakeLists.txt +++ b/coreblas/compute/CMakeLists.txt @@ -103,6 +103,12 @@ add_dependencies(coreblas coreblas_include) set_property(TARGET coreblas PROPERTY LINKER_LANGUAGE Fortran) set_property(TARGET coreblas PROPERTY INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib") +if(NOT CHAMELEON_SIMULATION) + target_link_libraries(coreblas ${LAPACKE_LIBRARIES} ${CBLAS_LIBRARIES}) +else(NOT CHAMELEON_SIMULATION) + target_link_libraries(coreblas simulapacke simucblas) +endif(NOT CHAMELEON_SIMULATION) + # # Dependencies step # # ----------------- # foreach(_external_package "blas" "cblas" "lapack" "lapacke") diff --git a/cudablas/compute/CMakeLists.txt b/cudablas/compute/CMakeLists.txt index 79812cbba5091a462521c9202138cffda8e3bdfd..91550a04965fe726dd5b7b9c1b8e1349aaa77b02 100644 --- a/cudablas/compute/CMakeLists.txt +++ b/cudablas/compute/CMakeLists.txt @@ -68,6 +68,11 @@ add_library(cudablas ${CUDABLAS_SRCS}) add_dependencies(cudablas cudablas_include) set_property(TARGET cudablas PROPERTY LINKER_LANGUAGE Fortran) +target_link_libraries(cudablas coreblas ${CUDA_LIBRARIES}) +if(CHAMELEON_USE_MAGMA) + target_link_libraries(cudablas ${MAGMA_LIBRARIES}) +endif(CHAMELEON_USE_MAGMA) + # installation # ------------ install(TARGETS cudablas diff --git a/runtime/parsec/CMakeLists.txt b/runtime/parsec/CMakeLists.txt index 0fadbfb10c6219e0247accc9620a998a4d8c2517..064ac0d39af53352949712bfdac2fdf49b68d187 100644 --- a/runtime/parsec/CMakeLists.txt +++ b/runtime/parsec/CMakeLists.txt @@ -170,6 +170,11 @@ add_library(chameleon_parsec ${RUNTIME_SRCS}) set_property(TARGET chameleon_parsec PROPERTY LINKER_LANGUAGE Fortran) set_property(TARGET chameleon_parsec PROPERTY INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib") +target_link_libraries(chameleon_parsec coreblas ${PARSEC_LIBRARIES}) +if(CHAMELEON_USE_CUDA OR CHAMELEON_USE_MAGMA) + target_link_libraries(chameleon_parsec cudablas) +endif(CHAMELEON_USE_CUDA OR CHAMELEON_USE_MAGMA) + add_dependencies(chameleon_parsec chameleon_include coreblas_include diff --git a/runtime/quark/CMakeLists.txt b/runtime/quark/CMakeLists.txt index c66a21b55dde325a0a37cf736432e463718df54a..5729fe0016ccfab3d0ec95f55c50d052dd75f5a0 100644 --- a/runtime/quark/CMakeLists.txt +++ b/runtime/quark/CMakeLists.txt @@ -167,6 +167,11 @@ add_library(chameleon_quark ${RUNTIME_SRCS}) set_property(TARGET chameleon_quark PROPERTY LINKER_LANGUAGE Fortran) set_property(TARGET chameleon_quark PROPERTY INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib") +target_link_libraries(chameleon_quark coreblas ${QUARK_LIBRARIES}) +if(CHAMELEON_USE_CUDA OR CHAMELEON_USE_MAGMA) + target_link_libraries(chameleon_quark cudablas) +endif(CHAMELEON_USE_CUDA OR CHAMELEON_USE_MAGMA) + add_dependencies(chameleon_quark chameleon_include coreblas_include diff --git a/runtime/starpu/CMakeLists.txt b/runtime/starpu/CMakeLists.txt index f54b27697f514417c30d265d53305a619c34d6cb..c8919aa52c2a40000a49b769e63feef7a5208198 100644 --- a/runtime/starpu/CMakeLists.txt +++ b/runtime/starpu/CMakeLists.txt @@ -188,6 +188,11 @@ add_library(chameleon_starpu ${RUNTIME_SRCS}) set_property(TARGET chameleon_starpu PROPERTY LINKER_LANGUAGE Fortran) set_property(TARGET chameleon_starpu PROPERTY INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib") +target_link_libraries(chameleon_starpu coreblas ${STARPU_LIBRARIES}) +if(CHAMELEON_USE_CUDA OR CHAMELEON_USE_MAGMA) + target_link_libraries(chameleon_starpu cudablas) +endif(CHAMELEON_USE_CUDA OR CHAMELEON_USE_MAGMA) + add_dependencies(chameleon_starpu chameleon_include coreblas_include