diff --git a/modules/find/FindBLAS.cmake b/modules/find/FindBLAS.cmake index 2d0093a198408193417f7e6a1634edafc2dd536a..b78d83901c0b8236b31f6fb2655f7923a456bae9 100644 --- a/modules/find/FindBLAS.cmake +++ b/modules/find/FindBLAS.cmake @@ -3,7 +3,7 @@ # @copyright (c) 2009-2014 The University of Tennessee and The University # of Tennessee Research Foundation. # All rights reserved. -# @copyright (c) 2012-2016 Inria. All rights reserved. +# @copyright (c) 2012-2018 Inria. All rights reserved. # @copyright (c) 2012-2014 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, Univ. Bordeaux. All rights reserved. # ### @@ -479,11 +479,13 @@ if (BLA_VENDOR MATCHES "Intel*" OR BLA_VENDOR STREQUAL "All") endif() set(BLAS_COMPILER_FLAGS "") if (NOT BLA_VENDOR STREQUAL "Intel10_64lp_seq") - if (CMAKE_C_COMPILER_ID STREQUAL "Intel") - list(APPEND BLAS_COMPILER_FLAGS "-openmp") + if(BLAS_FIND_REQUIRED) + find_package(OpenMP REQUIRED) + else() + find_package(OpenMP) endif() - if (CMAKE_C_COMPILER_ID STREQUAL "GNU") - list(APPEND BLAS_COMPILER_FLAGS "-fopenmp") + if(OPENMP_C_FLAGS) + list(APPEND BLAS_COMPILER_FLAGS "${OPENMP_C_FLAGS}") endif() endif() if (CMAKE_C_COMPILER_ID STREQUAL "GNU") diff --git a/modules/find/FindFFTW.cmake b/modules/find/FindFFTW.cmake index 14fbb7d2b94c17ce06ae5747f11642730c6ffdde..73778afadcc901f592a8eee38b49edee8deb207e 100644 --- a/modules/find/FindFFTW.cmake +++ b/modules/find/FindFFTW.cmake @@ -3,7 +3,7 @@ # @copyright (c) 2009-2014 The University of Tennessee and The University # of Tennessee Research Foundation. # All rights reserved. -# @copyright (c) 2012-2015 Inria. All rights reserved. +# @copyright (c) 2012-2018 Inria. All rights reserved. # @copyright (c) 2012-2014 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, Univ. Bordeaux. All rights reserved. # ### @@ -113,38 +113,38 @@ if( FFTW_FIND_COMPONENTS ) # means we look for the Intel MKL version of FFTW set(FFTW_LOOK_FOR_MKL ON) if (FFTW_LOOK_FOR_FFTW_LONG) - if (NOT FFTW_FIND_QUIETLY) - message(WARNING "Looking for FFTW -- long precision functions do not exist in MKL FFTW") - endif() - set(FFTW_LOOK_FOR_FFTW_LONG OFF) + if (NOT FFTW_FIND_QUIETLY) + message(WARNING "Looking for FFTW -- long precision functions do not exist in MKL FFTW") + endif() + set(FFTW_LOOK_FOR_FFTW_LONG OFF) endif() if (FFTW_LOOK_FOR_FFTW_QUAD) - if (NOT FFTW_FIND_QUIETLY) - message(WARNING "Looking for FFTW -- quadruple functions do not exist in MKL FFTW") - endif() - set(FFTW_LOOK_FOR_FFTW_QUAD OFF) + if (NOT FFTW_FIND_QUIETLY) + message(WARNING "Looking for FFTW -- quadruple functions do not exist in MKL FFTW") + endif() + set(FFTW_LOOK_FOR_FFTW_QUAD OFF) endif() endif() if (${component} STREQUAL "ESSL") # means we look for the Intel MKL version of FFTW set(FFTW_LOOK_FOR_ESSL ON) if (FFTW_LOOK_FOR_FFTW_LONG) - if (NOT FFTW_FIND_QUIETLY) - message(WARNING "Looking for FFTW -- long precision functions do not exist in FFTW_ESSL") - endif() - set(FFTW_LOOK_FOR_FFTW_LONG OFF) + if (NOT FFTW_FIND_QUIETLY) + message(WARNING "Looking for FFTW -- long precision functions do not exist in FFTW_ESSL") + endif() + set(FFTW_LOOK_FOR_FFTW_LONG OFF) endif() if (FFTW_LOOK_FOR_FFTW_QUAD) - if (NOT FFTW_FIND_QUIETLY) - message(WARNING "Looking for FFTW -- quadruple functions do not exist in FFTW_ESSL") - endif() - set(FFTW_LOOK_FOR_FFTW_QUAD OFF) + if (NOT FFTW_FIND_QUIETLY) + message(WARNING "Looking for FFTW -- quadruple functions do not exist in FFTW_ESSL") + endif() + set(FFTW_LOOK_FOR_FFTW_QUAD OFF) endif() if (FFTW_LOOK_FOR_OMP) - if (NOT FFTW_FIND_QUIETLY) - message(WARNING "Looking for FFTW -- FFTW_ESSL does not use OpenMP") - endif() - set(FFTW_LOOK_FOR_OMP OFF) + if (NOT FFTW_FIND_QUIETLY) + message(WARNING "Looking for FFTW -- FFTW_ESSL does not use OpenMP") + endif() + set(FFTW_LOOK_FOR_OMP OFF) endif() endif() endforeach() @@ -231,90 +231,90 @@ if (NOT FFTW_LOOK_FOR_MKL AND NOT FFTW_LOOK_FOR_ESSL) pkg_search_module(FFTW3 fftw3) if (FFTW3F_FOUND) set(FFTW_C_FLAGS "${FFTW3F_CFLAGS_OTHER}") - if (NOT FFTW_FIND_QUIETLY) - message(STATUS "Looking for FFTW3F - found using PkgConfig") - endif() - if (FFTW3F_LIBRARIES) - list(APPEND FFTW_LIBRARIES "${FFTW3F_LIBRARIES}") - endif() - if(FFTW3F_INCLUDE_DIRS) - list(APPEND FFTW_INCLUDE_DIRS "${FFTW3F_INCLUDE_DIRS}") - else() - if (NOT FFTW_FIND_QUIETLY) - message(WARNING "FFTW3F_INCLUDE_DIRS is empty using PkgConfig." - "Perhaps the path to fftw3f headers is already present in your" - "CPATH/C(PLUS)_INCLUDE_PATH environment variables.") - endif() - endif() - if(FFTW3F_LIBRARY_DIRS) - list(APPEND FFTW_LIBRARY_DIRS "${FFTW3F_LIBRARY_DIRS}") - endif() + if (NOT FFTW_FIND_QUIETLY) + message(STATUS "Looking for FFTW3F - found using PkgConfig") + endif() + if (FFTW3F_LIBRARIES) + list(APPEND FFTW_LIBRARIES "${FFTW3F_LIBRARIES}") + endif() + if(FFTW3F_INCLUDE_DIRS) + list(APPEND FFTW_INCLUDE_DIRS "${FFTW3F_INCLUDE_DIRS}") + else() + if (NOT FFTW_FIND_QUIETLY) + message(WARNING "FFTW3F_INCLUDE_DIRS is empty using PkgConfig." + "Perhaps the path to fftw3f headers is already present in your" + "CPATH/C(PLUS)_INCLUDE_PATH environment variables.") + endif() + endif() + if(FFTW3F_LIBRARY_DIRS) + list(APPEND FFTW_LIBRARY_DIRS "${FFTW3F_LIBRARY_DIRS}") + endif() else(FFTW3F_FOUND) - if (NOT FFTW_FIND_QUIETLY) - message(STATUS "Looking for FFTW3F - not found using PkgConfig." - "\n Perhaps you should add the directory containing fftw3f.pc to" - "\n the PKG_CONFIG_PATH environment variable.") - endif() + if (NOT FFTW_FIND_QUIETLY) + message(STATUS "Looking for FFTW3F - not found using PkgConfig." + "\n Perhaps you should add the directory containing fftw3f.pc to" + "\n the PKG_CONFIG_PATH environment variable.") + endif() endif(FFTW3F_FOUND) elseif(FFTW_LOOK_FOR_FFTW_LONG) pkg_search_module(FFTW3L fftw3l) pkg_search_module(FFTW3 fftw3) if (FFTW3L_FOUND) set(FFTW_C_FLAGS "${FFTW3L_CFLAGS_OTHER}") - if (NOT FFTW_FIND_QUIETLY) - message(STATUS "Looking for FFTW3L - found using PkgConfig") - endif() - if (FFTW3L_LIBRARIES) - list(APPEND FFTW_LIBRARIES "${FFTW3L_LIBRARIES}") - endif() - if(FFTW3L_INCLUDE_DIRS) - list(APPEND FFTW_INCLUDE_DIRS "${FFTW3L_INCLUDE_DIRS}") - else() - if (NOT FFTW_FIND_QUIETLY) - message(WARNING "FFTW3L_INCLUDE_DIRS is empty using PkgConfig." - "Perhaps the path to fftw3l headers is already present in your" - "CPATH/C(PLUS)_INCLUDE_PATH environment variables.") - endif() - endif() - if(FFTW3L_LIBRARY_DIRS) - list(APPEND FFTW_LIBRARY_DIRS "${FFTW3L_LIBRARY_DIRS}") - endif() + if (NOT FFTW_FIND_QUIETLY) + message(STATUS "Looking for FFTW3L - found using PkgConfig") + endif() + if (FFTW3L_LIBRARIES) + list(APPEND FFTW_LIBRARIES "${FFTW3L_LIBRARIES}") + endif() + if(FFTW3L_INCLUDE_DIRS) + list(APPEND FFTW_INCLUDE_DIRS "${FFTW3L_INCLUDE_DIRS}") + else() + if (NOT FFTW_FIND_QUIETLY) + message(WARNING "FFTW3L_INCLUDE_DIRS is empty using PkgConfig." + "Perhaps the path to fftw3l headers is already present in your" + "CPATH/C(PLUS)_INCLUDE_PATH environment variables.") + endif() + endif() + if(FFTW3L_LIBRARY_DIRS) + list(APPEND FFTW_LIBRARY_DIRS "${FFTW3L_LIBRARY_DIRS}") + endif() else(FFTW3L_FOUND) - if (NOT FFTW_FIND_QUIETLY) - message(STATUS "Looking for FFTW3L - not found using PkgConfig." - "\n Perhaps you should add the directory containing fftw3l.pc to" - "\n the PKG_CONFIG_PATH environment variable.") - endif() + if (NOT FFTW_FIND_QUIETLY) + message(STATUS "Looking for FFTW3L - not found using PkgConfig." + "\n Perhaps you should add the directory containing fftw3l.pc to" + "\n the PKG_CONFIG_PATH environment variable.") + endif() endif(FFTW3L_FOUND) elseif(FFTW_LOOK_FOR_FFTW_QUAD) pkg_search_module(FFTW3Q fftw3q) pkg_search_module(FFTW3 fftw3) if (FFTW3Q_FOUND) set(FFTW_C_FLAGS "${FFTW3Q_CFLAGS_OTHER}") - if (NOT FFTW_FIND_QUIETLY) - message(STATUS "Looking for FFTW3Q - found using PkgConfig") - endif() - if (FFTW3Q_LIBRARIES) - list(APPEND FFTW_LIBRARIES "${FFTW3Q_LIBRARIES}") - endif() - if(FFTW3Q_INCLUDE_DIRS) - list(APPEND FFTW_INCLUDE_DIRS "${FFTW3Q_INCLUDE_DIRS}") - else() - if (NOT FFTW_FIND_QUIETLY) - message(WARNING "FFTW3Q_INCLUDE_DIRS is empty using PkgConfig." - "Perhaps the path to fftw3q headers is already present in your" - "CPATH/C(PLUS)_INCLUDE_PATH environment variables.") - endif() - endif() - if(FFTW3Q_LIBRARY_DIRS) - list(APPEND FFTW_LIBRARY_DIRS "${FFTW3Q_LIBRARY_DIRS}") - endif() + if (NOT FFTW_FIND_QUIETLY) + message(STATUS "Looking for FFTW3Q - found using PkgConfig") + endif() + if (FFTW3Q_LIBRARIES) + list(APPEND FFTW_LIBRARIES "${FFTW3Q_LIBRARIES}") + endif() + if(FFTW3Q_INCLUDE_DIRS) + list(APPEND FFTW_INCLUDE_DIRS "${FFTW3Q_INCLUDE_DIRS}") + else() + if (NOT FFTW_FIND_QUIETLY) + message(WARNING "FFTW3Q_INCLUDE_DIRS is empty using PkgConfig." + "Perhaps the path to fftw3q headers is already present in your" + "CPATH/C(PLUS)_INCLUDE_PATH environment variables.") + endif() + endif() + if(FFTW3Q_LIBRARY_DIRS) + list(APPEND FFTW_LIBRARY_DIRS "${FFTW3Q_LIBRARY_DIRS}") + endif() else(FFTW3Q_FOUND) - if (NOT FFTW_FIND_QUIETLY) - message(STATUS "Looking for FFTW3Q - not found using PkgConfig." - "\n Perhaps you should add the directory containing fftw3q.pc to" - "\n the PKG_CONFIG_PATH environment variable.") - endif() + if (NOT FFTW_FIND_QUIETLY) + message(STATUS "Looking for FFTW3Q - not found using PkgConfig." + "\n Perhaps you should add the directory containing fftw3q.pc to" + "\n the PKG_CONFIG_PATH environment variable.") + endif() endif(FFTW3Q_FOUND) else() pkg_search_module(FFTW3 fftw3) @@ -322,28 +322,28 @@ if (NOT FFTW_LOOK_FOR_MKL AND NOT FFTW_LOOK_FOR_ESSL) if (FFTW3_FOUND) set(FFTW_C_FLAGS "${FFTW3_CFLAGS_OTHER}") if (NOT FFTW_FIND_QUIETLY) - message(STATUS "Looking for FFTW3 - found using PkgConfig") + message(STATUS "Looking for FFTW3 - found using PkgConfig") endif() if (FFTW3_LIBRARIES) - list(APPEND FFTW_LIBRARIES "${FFTW3_LIBRARIES}") + list(APPEND FFTW_LIBRARIES "${FFTW3_LIBRARIES}") endif() if(FFTW3_INCLUDE_DIRS) - list(APPEND FFTW_INCLUDE_DIRS "${FFTW3_INCLUDE_DIRS}") + list(APPEND FFTW_INCLUDE_DIRS "${FFTW3_INCLUDE_DIRS}") else() - if (NOT FFTW_FIND_QUIETLY) - message(WARNING "FFTW3_INCLUDE_DIRS is empty using PkgConfig." - "Perhaps the path to fftw3 headers is already present in your" - "CPATH/C(PLUS)_INCLUDE_PATH environment variables.") - endif() + if (NOT FFTW_FIND_QUIETLY) + message(WARNING "FFTW3_INCLUDE_DIRS is empty using PkgConfig." + "Perhaps the path to fftw3 headers is already present in your" + "CPATH/C(PLUS)_INCLUDE_PATH environment variables.") + endif() endif() if(FFTW3_LIBRARY_DIRS) - list(APPEND FFTW_LIBRARY_DIRS "${FFTW3_LIBRARY_DIRS}") + list(APPEND FFTW_LIBRARY_DIRS "${FFTW3_LIBRARY_DIRS}") endif() else(FFTW3_FOUND) if (NOT FFTW_FIND_QUIETLY) - message(STATUS "Looking for FFTW3 - not found using PkgConfig." - "\n Perhaps you should add the directory containing fftw3.pc to" - "\n the PKG_CONFIG_PATH environment variable.") + message(STATUS "Looking for FFTW3 - not found using PkgConfig." + "\n Perhaps you should add the directory containing fftw3.pc to" + "\n the PKG_CONFIG_PATH environment variable.") endif() endif(FFTW3_FOUND) @@ -425,15 +425,15 @@ if( (NOT PKG_CONFIG_EXECUTABLE) OR if(FFTW_DIR) set(FFTW_${FFTW3_HEADER_TO_FIND}_DIRS "FFTW_${FFTW3_HEADER_TO_FIND}_DIRS-NOTFOUND") find_path(FFTW_${FFTW3_HEADER_TO_FIND}_DIRS - NAMES ${FFTW3_HEADER_TO_FIND} - HINTS ${FFTW_DIR} - PATH_SUFFIXES "include" "include/fftw") + NAMES ${FFTW3_HEADER_TO_FIND} + HINTS ${FFTW_DIR} + PATH_SUFFIXES "include" "include/fftw") else() set(FFTW_${FFTW3_HEADER_TO_FIND}_DIRS "FFTW_${FFTW3_HEADER_TO_FIND}_DIRS-NOTFOUND") find_path(FFTW_${FFTW3_HEADER_TO_FIND}_DIRS - NAMES ${FFTW3_HEADER_TO_FIND} - HINTS ${PATH_TO_LOOK_FOR} - PATH_SUFFIXES "fftw") + NAMES ${FFTW3_HEADER_TO_FIND} + HINTS ${PATH_TO_LOOK_FOR} + PATH_SUFFIXES "fftw") endif() endif() mark_as_advanced(FFTW_${FFTW3_HEADER_TO_FIND}_DIRS) @@ -473,20 +473,20 @@ if( (NOT PKG_CONFIG_EXECUTABLE) OR if (ENV_MKLROOT) list(APPEND _lib_env "${ENV_MKLROOT}/lib") if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") - list(APPEND _lib_env "${ENV_MKLROOT}/lib64") - list(APPEND _lib_env "${ENV_MKLROOT}/lib/intel64") + list(APPEND _lib_env "${ENV_MKLROOT}/lib64") + list(APPEND _lib_env "${ENV_MKLROOT}/lib/intel64") else() - list(APPEND _lib_env "${ENV_MKLROOT}/lib32") - list(APPEND _lib_env "${ENV_MKLROOT}/lib/ia32") + list(APPEND _lib_env "${ENV_MKLROOT}/lib32") + list(APPEND _lib_env "${ENV_MKLROOT}/lib/ia32") endif() endif() if(WIN32) string(REPLACE ":" ";" _lib_env2 "$ENV{LIB}") else() if(APPLE) - string(REPLACE ":" ";" _lib_env2 "$ENV{DYLD_LIBRARY_PATH}") + string(REPLACE ":" ";" _lib_env2 "$ENV{DYLD_LIBRARY_PATH}") else() - string(REPLACE ":" ";" _lib_env2 "$ENV{LD_LIBRARY_PATH}") + string(REPLACE ":" ";" _lib_env2 "$ENV{LD_LIBRARY_PATH}") endif() list(APPEND _lib_env "${_lib_env2}") list(APPEND _lib_env "${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES}") @@ -526,7 +526,7 @@ if( (NOT PKG_CONFIG_EXECUTABLE) OR endif() if (FFTW_LOOK_FOR_FFTW_QUAD) if (NOT FFTW_LOOK_FOR_MKL AND NOT FFTW_LOOK_FOR_ESSL) - list(APPEND FFTW_libs_to_find "quadmath") + list(APPEND FFTW_libs_to_find "quadmath") endif() endif() @@ -540,27 +540,27 @@ if( (NOT PKG_CONFIG_EXECUTABLE) OR # call cmake macro to find the lib path if(FFTW_LIBDIR) foreach(fftw_lib ${FFTW_libs_to_find}) - set(FFTW_${fftw_lib}_LIBRARY "FFTW_${fftw_lib}_LIBRARY-NOTFOUND") - find_library(FFTW_${fftw_lib}_LIBRARY - NAMES ${fftw_lib} - HINTS ${FFTW_LIBDIR}) + set(FFTW_${fftw_lib}_LIBRARY "FFTW_${fftw_lib}_LIBRARY-NOTFOUND") + find_library(FFTW_${fftw_lib}_LIBRARY + NAMES ${fftw_lib} + HINTS ${FFTW_LIBDIR}) endforeach() else() if(FFTW_DIR) - foreach(fftw_lib ${FFTW_libs_to_find}) - set(FFTW_${fftw_lib}_LIBRARY "FFTW_${fftw_lib}_LIBRARY-NOTFOUND") - find_library(FFTW_${fftw_lib}_LIBRARY - NAMES ${fftw_lib} - HINTS ${FFTW_DIR} - PATH_SUFFIXES lib lib32 lib64) - endforeach() + foreach(fftw_lib ${FFTW_libs_to_find}) + set(FFTW_${fftw_lib}_LIBRARY "FFTW_${fftw_lib}_LIBRARY-NOTFOUND") + find_library(FFTW_${fftw_lib}_LIBRARY + NAMES ${fftw_lib} + HINTS ${FFTW_DIR} + PATH_SUFFIXES lib lib32 lib64) + endforeach() else() - foreach(fftw_lib ${FFTW_libs_to_find}) - set(FFTW_${fftw_lib}_LIBRARY "FFTW_${fftw_lib}_LIBRARY-NOTFOUND") - find_library(FFTW_${fftw_lib}_LIBRARY - NAMES ${fftw_lib} - HINTS ${PATH_TO_LOOK_FOR}) - endforeach() + foreach(fftw_lib ${FFTW_libs_to_find}) + set(FFTW_${fftw_lib}_LIBRARY "FFTW_${fftw_lib}_LIBRARY-NOTFOUND") + find_library(FFTW_${fftw_lib}_LIBRARY + NAMES ${fftw_lib} + HINTS ${PATH_TO_LOOK_FOR}) + endforeach() endif() endif() @@ -569,15 +569,15 @@ if( (NOT PKG_CONFIG_EXECUTABLE) OR foreach(fftw_lib ${FFTW_libs_to_find}) if (FFTW_${fftw_lib}_LIBRARY) - get_filename_component(${fftw_lib}_lib_path "${FFTW_${fftw_lib}_LIBRARY}" PATH) - # set cmake variables - list(APPEND FFTW_LIBRARIES "${FFTW_${fftw_lib}_LIBRARY}") - list(APPEND FFTW_LIBRARY_DIRS "${${fftw_lib}_lib_path}") + get_filename_component(${fftw_lib}_lib_path "${FFTW_${fftw_lib}_LIBRARY}" PATH) + # set cmake variables + list(APPEND FFTW_LIBRARIES "${FFTW_${fftw_lib}_LIBRARY}") + list(APPEND FFTW_LIBRARY_DIRS "${${fftw_lib}_lib_path}") else () - list(APPEND FFTW_LIBRARIES "${FFTW_${fftw_lib}_LIBRARY}") - if (NOT FFTW_FIND_QUIETLY) - message(STATUS "Looking for FFTW -- lib ${fftw_lib} not found") - endif() + list(APPEND FFTW_LIBRARIES "${FFTW_${fftw_lib}_LIBRARY}") + if (NOT FFTW_FIND_QUIETLY) + message(STATUS "Looking for FFTW -- lib ${fftw_lib} not found") + endif() endif () mark_as_advanced(FFTW_${fftw_lib}_LIBRARY) @@ -586,7 +586,7 @@ if( (NOT PKG_CONFIG_EXECUTABLE) OR # check if one lib is NOTFOUND foreach(lib ${FFTW_LIBRARIES}) if (NOT lib) - set(FFTW_LIBRARIES "FFTW_LIBRARIES-NOTFOUND") + set(FFTW_LIBRARIES "FFTW_LIBRARIES-NOTFOUND") endif() endforeach() @@ -597,67 +597,67 @@ if( (NOT PKG_CONFIG_EXECUTABLE) OR # FFTW relies on blas libs if (FFTW_LOOK_FOR_THREADS) if (FFTW_LOOK_FOR_MKL) - if (BLAS_PAR_LIBRARIES) - list(APPEND FFTW_LIBRARIES "${BLAS_PAR_LIBRARIES}") - if (NOT FFTW_FIND_QUIETLY) - message(STATUS "Multithreaded FFTW has been found: ${FFTW_LIBRARIES}") - endif() - else() - if (NOT FFTW_FIND_QUIETLY) - if (FFTW_FIND_REQUIRED AND FFTW_FIND_REQUIRED_MKL) - message(FATAL_ERROR "FFTW is required but not found.") - else() - message(STATUS "Multithreaded FFTW not found.") - endif() - endif() - endif(BLAS_PAR_LIBRARIES) + if (BLAS_PAR_LIBRARIES) + list(APPEND FFTW_LIBRARIES "${BLAS_PAR_LIBRARIES}") + if (NOT FFTW_FIND_QUIETLY) + message(STATUS "Multithreaded FFTW has been found: ${FFTW_LIBRARIES}") + endif() + else() + if (NOT FFTW_FIND_QUIETLY) + if (FFTW_FIND_REQUIRED AND FFTW_FIND_REQUIRED_MKL) + message(FATAL_ERROR "FFTW is required but not found.") + else() + message(STATUS "Multithreaded FFTW not found.") + endif() + endif() + endif(BLAS_PAR_LIBRARIES) elseif (FFTW_LOOK_FOR_ESSL) - if (FFTW_LIBRARIES AND BLAS_PAR_LIBRARIES) - list(APPEND FFTW_LIBRARIES "${BLAS_PAR_LIBRARIES}") - if (NOT FFTW_FIND_QUIETLY) - message(STATUS "Multithreaded FFTW has been found: ${FFTW_LIBRARIES}") - endif() - else() - if (NOT FFTW_FIND_QUIETLY) - if (FFTW_FIND_REQUIRED AND FFTW_FIND_REQUIRED_MKL) - message(FATAL_ERROR "FFTW is required but not found.") - else() - message(STATUS "Multithreaded FFTW not found.") - endif() - endif() - endif(FFTW_LIBRARIES AND BLAS_PAR_LIBRARIES) + if (FFTW_LIBRARIES AND BLAS_PAR_LIBRARIES) + list(APPEND FFTW_LIBRARIES "${BLAS_PAR_LIBRARIES}") + if (NOT FFTW_FIND_QUIETLY) + message(STATUS "Multithreaded FFTW has been found: ${FFTW_LIBRARIES}") + endif() + else() + if (NOT FFTW_FIND_QUIETLY) + if (FFTW_FIND_REQUIRED AND FFTW_FIND_REQUIRED_MKL) + message(FATAL_ERROR "FFTW is required but not found.") + else() + message(STATUS "Multithreaded FFTW not found.") + endif() + endif() + endif(FFTW_LIBRARIES AND BLAS_PAR_LIBRARIES) endif() else(FFTW_LOOK_FOR_THREADS) if (FFTW_LOOK_FOR_MKL) - if (BLAS_SEQ_LIBRARIES) - list(APPEND FFTW_LIBRARIES "${BLAS_SEQ_LIBRARIES}") - if (NOT FFTW_FIND_QUIETLY) - message(STATUS "FFTW has been found: ${FFTW_LIBRARIES}") - endif() - else() - if (NOT FFTW_FIND_QUIETLY) - if (FFTW_FIND_REQUIRED AND FFTW_FIND_REQUIRED_MKL) - message(FATAL_ERROR "FFTW is required but not found.") - else() - message(STATUS "FFTW not found.") - endif() - endif() - endif(BLAS_SEQ_LIBRARIES) + if (BLAS_SEQ_LIBRARIES) + list(APPEND FFTW_LIBRARIES "${BLAS_SEQ_LIBRARIES}") + if (NOT FFTW_FIND_QUIETLY) + message(STATUS "FFTW has been found: ${FFTW_LIBRARIES}") + endif() + else() + if (NOT FFTW_FIND_QUIETLY) + if (FFTW_FIND_REQUIRED AND FFTW_FIND_REQUIRED_MKL) + message(FATAL_ERROR "FFTW is required but not found.") + else() + message(STATUS "FFTW not found.") + endif() + endif() + endif(BLAS_SEQ_LIBRARIES) elseif (FFTW_LOOK_FOR_ESSL) - if (FFTW_LIBRARIES AND BLAS_SEQ_LIBRARIES) - list(APPEND FFTW_LIBRARIES "${BLAS_SEQ_LIBRARIES}") - if (NOT FFTW_FIND_QUIETLY) - message(STATUS "FFTW has been found: ${FFTW_LIBRARIES}") - endif() - else() - if (NOT FFTW_FIND_QUIETLY) - if (FFTW_FIND_REQUIRED AND FFTW_FIND_REQUIRED_MKL) - message(FATAL_ERROR "FFTW is required but not found.") - else() - message(STATUS "FFTW not found.") - endif() - endif() - endif(FFTW_LIBRARIES AND BLAS_SEQ_LIBRARIES) + if (FFTW_LIBRARIES AND BLAS_SEQ_LIBRARIES) + list(APPEND FFTW_LIBRARIES "${BLAS_SEQ_LIBRARIES}") + if (NOT FFTW_FIND_QUIETLY) + message(STATUS "FFTW has been found: ${FFTW_LIBRARIES}") + endif() + else() + if (NOT FFTW_FIND_QUIETLY) + if (FFTW_FIND_REQUIRED AND FFTW_FIND_REQUIRED_MKL) + message(FATAL_ERROR "FFTW is required but not found.") + else() + message(STATUS "FFTW not found.") + endif() + endif() + endif(FFTW_LIBRARIES AND BLAS_SEQ_LIBRARIES) endif() endif(FFTW_LOOK_FOR_THREADS) @@ -665,7 +665,7 @@ if( (NOT PKG_CONFIG_EXECUTABLE) OR list(APPEND FFTW_LIBRARY_DIRS "${BLAS_LIBRARY_DIRS}") else() if (NOT FFTW_FIND_QUIETLY) - message(WARNING "FFTW_LIBRARY_DIRS may not be complete because BLAS_LIBRARY_DIRS is empty.") + message(WARNING "FFTW_LIBRARY_DIRS may not be complete because BLAS_LIBRARY_DIRS is empty.") endif() endif() @@ -704,7 +704,7 @@ if( (NOT PKG_CONFIG_EXECUTABLE) OR endif() # OMP if(FFTW_LOOK_FOR_OMP) - set(REQUIRED_FLAGS "-fopenmp") + list(APPEND REQUIRED_FLAGS "${OPENMP_C_FLAGS}") #if (CMAKE_C_COMPILER_ID STREQUAL "GNU") # # either gomp ... # list(APPEND REQUIRED_LIBS "-lgomp") @@ -718,7 +718,7 @@ if( (NOT PKG_CONFIG_EXECUTABLE) OR if(FFTW_LOOK_FOR_MKL) list(APPEND REQUIRED_LIBS "${CMAKE_THREAD_LIBS_INIT}") if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_SYSTEM_NAME STREQUAL "Linux") - list(APPEND REQUIRED_LDFLAGS "-Wl,--no-as-needed") + list(APPEND REQUIRED_LDFLAGS "-Wl,--no-as-needed") endif() endif() # m @@ -761,11 +761,11 @@ if( (NOT PKG_CONFIG_EXECUTABLE) OR list(REMOVE_DUPLICATES FFTW_LINKER_FLAGS) else() if(NOT FFTW_FIND_QUIETLY) - message(STATUS "Looking for FFTW : test of ${FFTW_PREC_TESTFUNC}fftw_execute_ with fftw library fails") - message(STATUS "CMAKE_REQUIRED_LIBRARIES: ${CMAKE_REQUIRED_LIBRARIES}") - message(STATUS "CMAKE_REQUIRED_INCLUDES: ${CMAKE_REQUIRED_INCLUDES}") - message(STATUS "CMAKE_REQUIRED_FLAGS: ${CMAKE_REQUIRED_FLAGS}") - message(STATUS "Check in CMakeFiles/CMakeError.log to figure out why it fails") + message(STATUS "Looking for FFTW : test of ${FFTW_PREC_TESTFUNC}fftw_execute_ with fftw library fails") + message(STATUS "CMAKE_REQUIRED_LIBRARIES: ${CMAKE_REQUIRED_LIBRARIES}") + message(STATUS "CMAKE_REQUIRED_INCLUDES: ${CMAKE_REQUIRED_INCLUDES}") + message(STATUS "CMAKE_REQUIRED_FLAGS: ${CMAKE_REQUIRED_FLAGS}") + message(STATUS "Check in CMakeFiles/CMakeError.log to figure out why it fails") endif() endif() set(CMAKE_REQUIRED_INCLUDES)