Commit 61c1e780 authored by COULAUD Olivier's avatar COULAUD Olivier

Now we use mosrse_cmake submodule for blas, lapack and FFT. Works on Linux and...

Now we use mosrse_cmake submodule for blas, lapack and FFT. Works on Linux and MacOS with both Intel and gcc+mkl
parent bd5fcee4
...@@ -44,17 +44,16 @@ SET(CMAKE_CXX_STANDARD 14) ...@@ -44,17 +44,16 @@ SET(CMAKE_CXX_STANDARD 14)
set( MORSE_DISTRIB_DIR "" CACHE PATH "Directory of MORSE distribution") set( MORSE_DISTRIB_DIR "" CACHE PATH "Directory of MORSE distribution")
if (MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/morse/") if (MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/morse_cmake")
# Add extra cmake module path and initialize morse cmake modules # Add extra cmake module path and initialize morse cmake modules
# -------------------------------------------------------------- # --------------------------------------------------------------
if(MORSE_DISTRIB_DIR) if(MORSE_DISTRIB_DIR)
list(APPEND CMAKE_MODULE_PATH ${MORSE_DISTRIB_DIR}/cmake_modules) list(APPEND CMAKE_MODULE_PATH ${MORSE_DISTRIB_DIR}/modules)
list(APPEND CMAKE_MODULE_PATH "${MORSE_DISTRIB_DIR}/cmake_modules/morse") set(MORSE_CMAKE_MODULE_PATH ${MORSE_DISTRIB_DIR}/modules )
set(MORSE_CMAKE_MODULE_PATH ${MORSE_DISTRIB_DIR}/cmake_modules/morse ) elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/morse_cmake")
elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/morse/") list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/morse_cmake/modules)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/morse/) set(MORSE_CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/morse_cmake/modules )
set(MORSE_CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/morse )
endif() endif()
include(MorseInit) include(MorseInit)
# Set the RPATH config # Set the RPATH config
...@@ -351,15 +350,15 @@ if (MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/morse/ ...@@ -351,15 +350,15 @@ if (MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/morse/
if( SCALFMM_USE_MKL_AS_BLAS ) if( SCALFMM_USE_MKL_AS_BLAS )
set(BLA_VENDOR "Intel10_64lp_seq") set(BLA_VENDOR "Intel10_64lp_seq")
set(SCALFMM_BLAS_ADD_ ON) set(SCALFMM_BLAS_ADD_ ON)
find_package(BLASEXT QUIET) # not REQUIRED find_package(BLAS ) # not REQUIRED
unset(LAPACK_LIBRARIES) unset(LAPACK_LIBRARIES)
if (BLAS_LIBRARIES) if (BLAS_LIBRARIES)
set(BLASLAPACK_LIBRARIES ${BLAS_LIBRARIES}) set(BLASLAPACK_LIBRARIES ${BLAS_LIBRARIES})
endif() endif()
elseif(SCALFMM_USE_ESSL_AS_BLAS) elseif(SCALFMM_USE_ESSL_AS_BLAS)
set(BLA_VENDOR "IBMESSL") set(BLA_VENDOR "IBMESSL")
find_package(BLASEXT QUIET) # not REQUIRED find_package(BLAS QUIET) # not REQUIRED
find_package(LAPACKEXT QUIET) # not REQUIRED find_package(LAPACK QUIET) # not REQUIRED
if (LAPACK_LIBRARIES) if (LAPACK_LIBRARIES)
set(BLASLAPACK_LIBRARIES "${LAPACK_LIBRARIES}") set(BLASLAPACK_LIBRARIES "${LAPACK_LIBRARIES}")
endif() endif()
...@@ -370,8 +369,8 @@ if (MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/morse/ ...@@ -370,8 +369,8 @@ if (MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/morse/
message(STATUS "BLAS SET BY EXTERNAL PROGRAM = ${BLAS_LIBRARIES}") message(STATUS "BLAS SET BY EXTERNAL PROGRAM = ${BLAS_LIBRARIES}")
list(APPEND BLASLAPACK_LIBRARIES "${BLAS_LIBRARIES}") list(APPEND BLASLAPACK_LIBRARIES "${BLAS_LIBRARIES}")
else() else()
find_package(BLASEXT) # not REQUIRED find_package(BLAS) # not REQUIRED
find_package(LAPACKEXT) # not REQUIRED find_package(LAPACK) # not REQUIRED
set(BLASLAPACK_LIBRARIES) set(BLASLAPACK_LIBRARIES)
if (LAPACK_LIBRARIES) if (LAPACK_LIBRARIES)
set(BLASLAPACK_LIBRARIES "${LAPACK_LIBRARIES}") set(BLASLAPACK_LIBRARIES "${LAPACK_LIBRARIES}")
...@@ -440,7 +439,8 @@ if (MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/morse/ ...@@ -440,7 +439,8 @@ if (MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/morse/
endif() endif()
endif (NOT SCALFMM_BLAS_ADD_ AND NOT SCALFMM_BLAS_UPCASE AND NOT SCALFMM_BLAS_NOCHANGE) endif (NOT SCALFMM_BLAS_ADD_ AND NOT SCALFMM_BLAS_UPCASE AND NOT SCALFMM_BLAS_NOCHANGE)
else() else()
MESSAGE(WARNING "BLAS: ${BLAS-FOUND}")
message(WARNING "BLAS has not been found, SCALFMM will continue to compile but some applications will be disabled.") message(WARNING "BLAS has not been found, SCALFMM will continue to compile but some applications will be disabled.")
message(WARNING "If you have BLAS set BLAS_LIBDIR, BLAS_INCDIR or BLAS_DIR (CMake variables using -D or environment variables).") message(WARNING "If you have BLAS set BLAS_LIBDIR, BLAS_INCDIR or BLAS_DIR (CMake variables using -D or environment variables).")
if( NOT SCALFMM_USE_MKL_AS_FFTW ) if( NOT SCALFMM_USE_MKL_AS_FFTW )
...@@ -985,7 +985,7 @@ if (MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/morse/ ...@@ -985,7 +985,7 @@ if (MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/morse/
# END # # END #
################################################################## ##################################################################
# #
else(MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/morse/") else(MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/morse_cmake")
message(STATUS "MORSE_DISTRIB_DIR is not set") message(STATUS "MORSE_DISTRIB_DIR is not set")
message(STATUS "Please indicate where is located your MORSE distribution directory." message(STATUS "Please indicate where is located your MORSE distribution directory."
...@@ -993,4 +993,4 @@ else(MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/morse ...@@ -993,4 +993,4 @@ else(MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/morse
message(STATUS "If you are a MORSE developer, you normally have access to the svn repository of the MORSE_DISTRIB_DIR: " message(STATUS "If you are a MORSE developer, you normally have access to the svn repository of the MORSE_DISTRIB_DIR: "
"svn checkout svn+ssh://yourlogin@scm.gforge.inria.fr/svnroot/morse/trunk/morse_distrib") "svn checkout svn+ssh://yourlogin@scm.gforge.inria.fr/svnroot/morse/trunk/morse_distrib")
endif(MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/morse/") endif(MORSE_DISTRIB_DIR OR EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/morse_cmake")
...@@ -28,7 +28,12 @@ The following are optional: ...@@ -28,7 +28,12 @@ The following are optional:
- Custom BLAS, FFT implementations. - Custom BLAS, FFT implementations.
- [StarPU](http://starpu.gforge.inria.fr/) for the relevant FMM implementations. - [StarPU](http://starpu.gforge.inria.fr/) for the relevant FMM implementations.
### Build ### To get and Build ScalFMM
To obtain ScalFMM (develop branch) and its git submodules do
``` bash
git clone --recursive git@gitlab.inria.fr:solverstack/ScalFMM.git -b develop
```
``` bash ``` bash
# Move to the build folder # Move to the build folder
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment