diff --git a/CMakeLists.txt b/CMakeLists.txt index 007941f0026ba0aa90273394d97e8cfe458b5457..27098bf0041fcf4b3f3219ad7eb12ea59155405d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,13 +8,26 @@ STRING(COMPARE EQUAL "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" insource) IF(insource) MESSAGE(FATAL_ERROR "${PROJECT_NAME} requires an out of source build. Goto ./Build and tapes cmake ../") ENDIF(insource) - +# # Options +OPTION( SCALFMM_USE_CBLAS "Set to ON to build ScaFMM with BLAS" ON ) OPTION( BUILD_TESTS "Set to ON to build fonctionnalities Tests" ON ) OPTION( BUILD_UTESTS "Set to ON to build UTests" ON ) - +# +if(SCALFMM_USE_CBLAS ) +OPTION( SCALFMM_USE_MKL "Set to ON to build MKL CBLAS" OFF ) + IF ( SCALFMM_USE_MKL ) + SET(CBLAS_LIBRARIES "-L$ENV{MKLROOT}/lib -lmkl_intel_lp64 -lmkl_sequential -lmkl_core") + ELSE ( SCALFMM_USE_MKL ) + FIND_PACKAGE(BLAS) + SET(CBLAS_LIBRARIES "-lcblas") + ENDIF ( SCALFMM_USE_MKL) +ENDIF(SCALFMM_USE_CBLAS) +# ADD_DEFINITIONS(-O2 -Wall -Wshadow -Wpointer-arith -Wcast-qual) +CONFIGURE_FILE( ${CMAKE_SOURCE_DIR}/Sources/ScalFMM_config.h.cmake + ${CMAKE_BINARY_DIR}/Sources/ScalFMM_config.h ) # Build - lib add_subdirectory(Sources) diff --git a/Sources/CMakeLists.txt b/Sources/CMakeLists.txt index d2d1ba16288357502611ca8defbd37f62733a450..cf71843b5f1c9b9839e47240d73c9c17319cb72c 100644 --- a/Sources/CMakeLists.txt +++ b/Sources/CMakeLists.txt @@ -15,3 +15,7 @@ add_library( STATIC ${source_lib_files} ) +INCLUDE_DIRECTORIES( + ${CMAKE_BINARY_DIR}/Sources +) + diff --git a/Sources/Utils/FBlas.hpp b/Sources/Utils/FBlas.hpp index 30d824c046ac7b26beb86b80a8114fff83f3710c..2c4c94dd58e0ec64c2ffd2a6bc8bc3e3bfb3a709 100644 --- a/Sources/Utils/FBlas.hpp +++ b/Sources/Utils/FBlas.hpp @@ -1,8 +1,11 @@ #ifndef FBLAS_HPP #define FBLAS_HPP - +#include "ScalFMM_config.h" +#ifdef SCALFMM_USE_MKL +#include <mkl_cblas.h> +#else #include <cblas.h> -//#include <mkl.h> +#endif /////////////////////////////////////////////////////// // GEMV diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 9cb02462a10d4a4418b9c887813b6511427ea18a..dfeb7ef514e18f054792029b1792757f274ead10 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -10,8 +10,8 @@ if(OPENMP_FOUND) set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}") endif() -#add blass -set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lcblas") +#add CBLAS +set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CBLAS_LIBRARIES}") #ADD_DEFINITIONS(-Wl,--start-group $(MKLROOT)/lib/ia32/libmkl_intel.a $(MKLROOT)/lib/ia32/libmkl_sequential.a $(MKLROOT)/lib/ia32/libmkl_core.a -Wl,--end-group -lpthread) #test @@ -29,6 +29,9 @@ file( source_tests_files ./*.cpp ) +INCLUDE_DIRECTORIES( + ${CMAKE_BINARY_DIR}/Sources +) # Add execs - 1 cpp = 1 exec foreach(exec ${source_tests_files})