diff --git a/CMakeLists.txt b/CMakeLists.txt index f31042c7ccf7f6ea2bca92e13e48d9bd4d3ff915..cb37c9d9830200a3e3708d0252c71c864c3e8022 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -938,6 +938,26 @@ list(APPEND CHAMELEON_DEP ${EXTRA_LIBRARIES}) list(REMOVE_DUPLICATES CHAMELEON_DEP) #list(REVERSE CHAMELEON_DEP) +# we add chameleon's own library +set(CHAMELEON_LIBRARIES "chameleon") +if (NOT CHAMELEON_SIMULATION) + list(APPEND CHAMELEON_LIBRARIES coreblas) + if (CHAMELEON_USE_CUDA) + list(APPEND CHAMELEON_LIBRARIES cudablas) + endif() +endif() +if (CHAMELEON_SCHED_QUARK) + list(APPEND CHAMELEON_LIBRARIES chameleon_quark) +endif() +if (CHAMELEON_SCHED_PARSEC) + list(APPEND CHAMELEON_LIBRARIES chameleon_parsec) +endif() +if (CHAMELEON_SCHED_STARPU) + list(APPEND CHAMELEON_LIBRARIES chameleon_starpu) +endif() +list(APPEND CHAMELEON_LIBRARIES hqr) +set(CHAMELEON_LIBRARIES_DEP ${CHAMELEON_LIBRARIES} ${CHAMELEON_DEP}) + # Check for the subdirectories # ---------------------------- diff --git a/cmake_modules/PrintOpts.cmake b/cmake_modules/PrintOpts.cmake index 7b5e61747071bc507ea56db1d72c95264ac44035..db11e46e811791fc4292664dbd3eebd4129ff43d 100644 --- a/cmake_modules/PrintOpts.cmake +++ b/cmake_modules/PrintOpts.cmake @@ -96,7 +96,7 @@ set(dep_message "${dep_message}" " timing ...............: ${CHAMELEON_ENABLE_TIMING}\n" "\n" " CHAMELEON dependencies :\n") -foreach (_dep ${CHAMELEON_DEP}) +foreach (_dep ${CHAMELEON_LIBRARIES_DEP}) set(dep_message "${dep_message}" " ${_dep}\n") endforeach () diff --git a/compute/CMakeLists.txt b/compute/CMakeLists.txt index 58d639f5fe4952f1a83dab0f7d0d06a1abf4ac9d..2b195951b0c861aa023f7446df41b87a68ed541f 100644 --- a/compute/CMakeLists.txt +++ b/compute/CMakeLists.txt @@ -294,21 +294,16 @@ set(CHAMELEON_SOURCES_TARGETS "${CHAMELEON_SOURCES_TARGETS};chameleon_sources" C add_library(chameleon ${CHAMELEON_SRCS} ${CHAMELEON_SRCSF}) if(CHAMELEON_SCHED_STARPU) target_link_libraries(chameleon chameleon_starpu) - list(INSERT CHAMELEON_DEP 0 -lchameleon_starpu) elseif(CHAMELEON_SCHED_PARSEC) target_link_libraries(chameleon chameleon_parsec) - list(INSERT CHAMELEON_DEP 0 -lchameleon_parsec) elseif(CHAMELEON_SCHED_QUARK) target_link_libraries(chameleon chameleon_quark) - list(INSERT CHAMELEON_DEP 0 -lchameleon_quark) endif() if (NOT CHAMELEON_SIMULATION) - add_dependencies(chameleon - coreblas_include) + add_dependencies(chameleon coreblas_include) target_link_libraries(chameleon coreblas) endif() target_link_libraries(chameleon hqr) -list(INSERT CHAMELEON_DEP 0 -lchameleon) add_dependencies(chameleon chameleon_include diff --git a/coreblas/compute/CMakeLists.txt b/coreblas/compute/CMakeLists.txt index 0b406e71fcb7b1eb4580ed78d07ae53665ffca09..996a64ffab6375e51c2c184c4c37a07e641832eb 100644 --- a/coreblas/compute/CMakeLists.txt +++ b/coreblas/compute/CMakeLists.txt @@ -114,16 +114,14 @@ set(CHAMELEON_SOURCES_TARGETS "${CHAMELEON_SOURCES_TARGETS};coreblas_sources" CA # Compile step # ------------ add_library(coreblas ${COREBLAS_SRCS}) -list(INSERT CHAMELEON_DEP 0 -lcoreblas) add_dependencies(coreblas coreblas_include coreblas_sources) set_property(TARGET coreblas PROPERTY LINKER_LANGUAGE Fortran) set_property(TARGET coreblas PROPERTY INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib") target_link_libraries(coreblas - ${LAPACKE_LIBRARIES} - ${LAPACK_SEQ_LIBRARIES} - ${CBLAS_LIBRARIES} - ${BLAS_SEQ_LIBRARIES} + ${TMG_LIBRARIES_DEP} + ${LAPACKE_LIBRARIES_DEP} + ${CBLAS_LIBRARIES_DEP} ) # Installation diff --git a/cudablas/compute/CMakeLists.txt b/cudablas/compute/CMakeLists.txt index 017c118c03f1fd9602e1ae89a48fce9b0f378743..209bf5b37330194e4b34d7139dc37a8b5687866e 100644 --- a/cudablas/compute/CMakeLists.txt +++ b/cudablas/compute/CMakeLists.txt @@ -102,7 +102,7 @@ set_property(TARGET cudablas PROPERTY INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/ target_link_libraries(cudablas coreblas - ${CUDA_LIBRARIES}) + ${EXTRA_LIBRARIES_CUDA}) # installation # ------------ diff --git a/example/basic_zposv/CMakeLists.txt b/example/basic_zposv/CMakeLists.txt index 945dbdc135b3c597e43ce57a257dbfbd39de318e..b443a03df21136ef8375a02d81b0cdf599ce3f82 100644 --- a/example/basic_zposv/CMakeLists.txt +++ b/example/basic_zposv/CMakeLists.txt @@ -41,53 +41,9 @@ precisions_rules_py(EXAMPLES "${ZSRC}" # Define what libraries we have to link with # ------------------------------------------ unset(libs_for_examples) -list(APPEND libs_for_examples - chameleon -) +list(APPEND libs_for_examples ${CHAMELEON_LIBRARIES_DEP}) +# message(STATUS "libs_for_examples: ${libs_for_examples}") -if(CHAMELEON_SCHED_STARPU) - list(APPEND libs_for_examples - chameleon_starpu - ${STARPU_LIBRARIES_DEP} - ) - link_directories(${STARPU_LIBRARY_DIRS}) -elseif(CHAMELEON_SCHED_PARSEC) - list(APPEND libs_for_examples - chameleon_parsec - ${PARSEC_LIBRARIES_DEP} - ) - link_directories(${PARSEC_LIBRARY_DIRS_DEP}) -elseif(CHAMELEON_SCHED_QUARK) - list(APPEND libs_for_examples - chameleon_quark - ${QUARK_LIBRARIES} - ) - link_directories(${QUARK_LIBRARY_DIRS}) -endif() - -if(CHAMELEON_USE_CUDA) - list(APPEND libs_for_examples - cudablas) -endif() -if(CHAMELEON_USE_CUDA) - link_directories(${CUDA_LIBRARY_DIRS}) -endif() - -list(APPEND libs_for_examples - coreblas - ${LAPACKE_LIBRARIES} - ${CBLAS_LIBRARIES} - ${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}) - -# message(STATUS "libs timings: ${libs_for_examples}") foreach(_example ${EXAMPLES}) get_filename_component(_name_exe ${_example} NAME_WE) add_executable(${_name_exe} ${_example}) diff --git a/example/lapack_to_morse/CMakeLists.txt b/example/lapack_to_morse/CMakeLists.txt index bbd241512fbac1e11ba5679ba3ea801278d2d4fb..5b8255ce8f88ba6586546b45973ef6b760f0015c 100644 --- a/example/lapack_to_morse/CMakeLists.txt +++ b/example/lapack_to_morse/CMakeLists.txt @@ -78,13 +78,8 @@ list(APPEND libs_for_ltm ${BLAS_SEQ_LIBRARIES} ${EXTRA_LIBRARIES} ) +# message(STATUS "libs_for_ltm: ${libs_for_ltm}") -link_directories(${LAPACKE_LIBRARY_DIRS}) -link_directories(${LAPACK_LIBRARY_DIRS}) -link_directories(${CBLAS_LIBRARY_DIRS}) -link_directories(${BLAS_LIBRARY_DIRS}) - -# message(STATUS "libs examples: ${libs_for_ltm}") foreach(_ltm ${LTM_SOURCES}) get_filename_component(_name_exe ${_ltm} NAME_WE) add_executable(${_name_exe} ${_ltm}) diff --git a/example/out_of_core/CMakeLists.txt b/example/out_of_core/CMakeLists.txt index 87e0b54775730c99e98fb81895f75c77416d3e9b..c486cc7f5a713b0e221473e978a95e0d976092d2 100644 --- a/example/out_of_core/CMakeLists.txt +++ b/example/out_of_core/CMakeLists.txt @@ -37,24 +37,9 @@ set(OOC_SOURCES # Define what libraries we have to link with # ------------------------------------------ unset(libs_for_ooc) -list(APPEND libs_for_ooc - chameleon - ${STARPU_LIBRARIES_DEP} -) -link_directories(${STARPU_LIBRARY_DIRS}) +list(APPEND libs_for_ooc ${CHAMELEON_LIBRARIES_DEP}) +# message(STATUS "libs_for_ooc: ${libs_for_ooc}") -list(APPEND libs_for_ooc - ${LAPACKE_LIBRARIES} - ${LAPACK_SEQ_LIBRARIES} - ${BLAS_SEQ_LIBRARIES} - ${EXTRA_LIBRARIES} - ) - -link_directories(${LAPACKE_LIBRARY_DIRS}) -link_directories(${LAPACK_LIBRARY_DIRS}) -link_directories(${BLAS_LIBRARY_DIRS}) - -# message(STATUS "libs examples: ${libs_for_ooc}") foreach(_ooc ${OOC_SOURCES}) get_filename_component(_name_exe ${_ooc} NAME_WE) add_executable(${_name_exe} ${_ooc}) diff --git a/runtime/parsec/CMakeLists.txt b/runtime/parsec/CMakeLists.txt index b7e2822edc65882c46c3779b87f079865863bf1b..24ce25e8f483b50ca1c97ebcef412a49d944cabf 100644 --- a/runtime/parsec/CMakeLists.txt +++ b/runtime/parsec/CMakeLists.txt @@ -117,11 +117,9 @@ set_property(TARGET chameleon_parsec PROPERTY INSTALL_NAME_DIR "${CMAKE_INSTALL_ target_link_libraries(chameleon_parsec ${PARSEC_LIBRARIES_DEP}) if (NOT CHAMELEON_SIMULATION) - target_link_libraries(chameleon_parsec - coreblas) + target_link_libraries(chameleon_parsec coreblas) if(CHAMELEON_USE_CUDA) - target_link_libraries(chameleon_parsec - cudablas) + target_link_libraries(chameleon_parsec cudablas) endif(CHAMELEON_USE_CUDA) endif(NOT CHAMELEON_SIMULATION) diff --git a/testing/CMakeLists.txt b/testing/CMakeLists.txt index 381e80541e67b72a82ca556f24eceb94fb8e353e..f683c256669db05d42261d4933a415dc5bae5d06 100644 --- a/testing/CMakeLists.txt +++ b/testing/CMakeLists.txt @@ -104,46 +104,7 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR}) # Define what libraries we have to link with # ------------------------------------------ unset(libs_for_tests) -list(APPEND libs_for_tests - chameleon - ) - -if(CHAMELEON_USE_CUDA) - list(APPEND libs_for_tests - cudablas) -endif() -if(CHAMELEON_USE_CUDA) - link_directories(${CUDA_LIBRARY_DIRS}) -endif() - -list(APPEND libs_for_tests - coreblas - ${LAPACKE_LIBRARIES} - ${TMG_LIBRARIES} - ${LAPACK_LIBRARIES} - ${CBLAS_LIBRARIES} - ${BLAS_LIBRARIES} - ) - -link_directories(${LAPACKE_LIBRARY_DIRS}) -link_directories(${TMG_LIBRARY_DIRS}) -link_directories(${LAPACK_LIBRARY_DIRS}) -link_directories(${CBLAS_LIBRARY_DIRS}) -link_directories(${BLAS_LIBRARY_DIRS}) - -list(APPEND libs_for_tests - hqr - ${EXTRA_LIBRARIES} - ) - -# message("LAPACKE_LIBRARY_DIRS: ${LAPACKE_LIBRARY_DIRS}") -# message("LAPACK_LIBRARY_DIRS: ${LAPACK_LIBRARY_DIRS}") -# message("CBLAS_LIBRARY_DIRS: ${CBLAS_LIBRARY_DIRS}") -# message("BLAS_LIBRARY_DIRS: ${BLAS_LIBRARY_DIRS}") - -# list(APPEND libs_for_tests ${CMAKE_Fortran_FLAGS} ) -# list(APPEND libs_for_tests ${CMAKE_Fortran_LDFLAGS}) - +list(APPEND libs_for_tests ${CHAMELEON_LIBRARIES_DEP}) # message(STATUS "libs testings: ${libs_for_tests}") # Create one testing per precision with all files diff --git a/timing/CMakeLists.txt b/timing/CMakeLists.txt index 19f3a16f7b7d2f38804c2f993b42b6e8a6b2fea5..8ae3a7558f809e4a79b8bc60e4ec8dbfdde0d578 100644 --- a/timing/CMakeLists.txt +++ b/timing/CMakeLists.txt @@ -170,52 +170,9 @@ if(NOT CHAMELEON_SIMULATION) list(APPEND libs_for_timings chameleon_timing) endif() -list(APPEND libs_for_timings - chameleon - ) - -# Add dependency toward StarPU for StarPU specific calls -if(CHAMELEON_SCHED_STARPU) - list(APPEND libs_for_timings - ${STARPU_LIBRARIES_DEP} - ) - link_directories(${STARPU_LIBRARY_DIRS}) -endif() - -if(NOT CHAMELEON_SIMULATION) - - list(APPEND libs_for_timings - ${LAPACKE_LIBRARIES} - ${TMG_LIBRARIES} - ${CBLAS_LIBRARIES} - ${LAPACK_SEQ_LIBRARIES} - ${BLAS_SEQ_LIBRARIES} - ) - - link_directories(${LAPACKE_LIBRARY_DIRS}) - link_directories(${TMG_LIBRARY_DIRS}) - link_directories(${LAPACK_LIBRARY_DIRS}) - link_directories(${CBLAS_LIBRARY_DIRS}) - link_directories(${BLAS_LIBRARY_DIRS}) - -endif() - -list(APPEND libs_for_timings - hqr - ${EXTRA_LIBRARIES} - ) - -# message("BLAS_SEQ_LIBRARIES: ${BLAS_SEQ_LIBRARIES}") -# message("CBLAS_LIBRARIES: ${CBLAS_LIBRARIES}") -# message("LAPACK_SEQ_LIBRARIES: ${LAPACK_SEQ_LIBRARIES}") -# message("LAPACKE_LIBRARIES: ${LAPACKE_LIBRARIES}") - -# message("LAPACKE_LIBRARY_DIRS: ${LAPACKE_LIBRARY_DIRS}") -# message("LAPACK_LIBRARY_DIRS: ${LAPACK_LIBRARY_DIRS}") -# message("CBLAS_LIBRARY_DIRS: ${CBLAS_LIBRARY_DIRS}") -# message("BLAS_LIBRARY_DIRS: ${BLAS_LIBRARY_DIRS}") - +list(APPEND libs_for_timings ${CHAMELEON_LIBRARIES_DEP}) # message(STATUS "libs timings: ${libs_for_timings}") + foreach(_timing ${TIMINGS}) get_filename_component(_name_exe ${_timing} NAME_WE) add_executable(${_name_exe} ${_timing})