diff --git a/CMakeLists.txt b/CMakeLists.txt index ff65d962c6a0cf77acc592deaf00555a1295a651..16b141d06282ac0d3d1b79c9bdf8951be6d60bfb 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,6 +38,12 @@ SET(ScalFMM_VERSION "${ScalFMM_MAJOR_VERSION}.${ScalFMM_MINOR_VERSION}.${ScalFM # Active language # ----------------------- ENABLE_LANGUAGE(CXX ) +if( ScalFMM_USE_MPI ) + TRY_COMPILE(COMPILE_INTEL ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_MODULE_PATH}/compileTestIntel.cpp COMPILE_DEFINITIONS "${CMAKE_CXX_FLAGS}") + if (COMPILE_INTEL) + SET(CMAKE_CXX_COMPILER_ID "Intel") + endif() + endif() MESSAGE(STATUS " CXX ${CMAKE_CXX_COMPILER_ID}" ) # @@ -150,7 +156,7 @@ else() ELSE(APPLE) # Not apple system - Check the compiler flags if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") - SET(SCALFMM_FLAGS_OPTI_RELEASE "${FLAGS_64bits} -march=native -fp-model precise -fp-model source -fimf-precision=low -funroll-loops -ftree-vectorize" CACHE STRING "Set your optimization flags for release mode.") + SET(SCALFMM_FLAGS_OPTI_RELEASE "${FLAGS_64bits} -fp-model precise -fp-model source -fimf-precision=low -funroll-loops -ftree-vectorize" CACHE STRING "Set your optimization flags for release mode.") else() SET(SCALFMM_FLAGS_OPTI_RELEASE "${FLAGS_64bits} -ffast-math -funroll-loops -ftree-vectorize" CACHE STRING "Set your optimization flags for release mode.") endif() @@ -174,6 +180,7 @@ endif(ScalFMM_ATTACHE_SOURCE) # if( ScalFMM_USE_BLAS ) OPTION( ScalFMM_USE_MKL_AS_BLAS "Set to ON to use MKL CBLAS" OFF ) + MESSAGE(STATUS "CMAKE_CXX_COMPILER_ID STREQUAL ${CMAKE_CXX_COMPILER_ID}") if( ScalFMM_USE_MKL_AS_BLAS ) IF(CMAKE_CXX_COMPILER_ID STREQUAL "Intel" ) SET(BLAS_LIBRARIES "-mkl=sequential" CACHE STRING "Set your MKL flags") diff --git a/CMakeModules/compileTestIntel.cpp b/CMakeModules/compileTestIntel.cpp new file mode 100644 index 0000000000000000000000000000000000000000..3db518c378cc0e36a067bea93d7cf0b45a5ff222 --- /dev/null +++ b/CMakeModules/compileTestIntel.cpp @@ -0,0 +1,13 @@ +int main(){ + + int i ; +#ifdef __INTEL_COMPILER + + i = 0; + +#else + +#error 'Not Intel Compiler " + +#endif +}