Skip to content

Commit

Permalink
Unconditionally Search for Both
Browse files Browse the repository at this point in the history
  • Loading branch information
ax3l committed Jan 8, 2025
1 parent ab9e6c9 commit 0f110f5
Showing 1 changed file with 33 additions and 33 deletions.
66 changes: 33 additions & 33 deletions Tools/CMake/FindAMReXFFTW.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -102,47 +102,47 @@ if(NOT AMReX_FFTW_SEARCH IN_LIST AMReX_FFTW_SEARCH_VALUES)
endif()
mark_as_advanced(AMReX_FFTW_SEARCH)

# floating point precision suffixes: float, double and quad precision
if(AMReX_PRECISION STREQUAL "DOUBLE")
set(HFFTWp "")
else()
set(HFFTWp "f")
endif()
# Create imported target
add_library(AMReX::FFTW INTERFACE IMPORTED GLOBAL)

if(AMReX_FFTW_SEARCH STREQUAL CMAKE)
find_package(FFTW3${HFFTWp} CONFIG REQUIRED)
set(AMReX_FFTW_LIBRARY_DIRS "${FFTW3${HFFTWp}_LIBRARY_DIRS}")
message(STATUS "Found FFTW: ${FFTW3${HFFTWp}_DIR} (found version \"${FFTW3${HFFTWp}_VERSION}\")")
else()
find_package(PkgConfig REQUIRED QUIET)
pkg_check_modules(fftw3${HFFTWp} REQUIRED IMPORTED_TARGET fftw3${HFFTWp})
message(STATUS "Found FFTW: ${fftw3${HFFTWp}_PREFIX}")
if(fftw3${HFFTWp}_LIBRARY_DIRS)
set(AMReX_FFTW_LIBRARY_DIRS "${fftw3${HFFTWp}_LIBRARY_DIRS}")
function(fftw_find_precision HFFTWp)
if(AMReX_FFTW_SEARCH STREQUAL CMAKE)
find_package(FFTW3${HFFTWp} CONFIG REQUIRED)
set(AMReX_FFTW_LIBRARY_DIRS "${FFTW3${HFFTWp}_LIBRARY_DIRS}")
message(STATUS "Found FFTW: ${FFTW3${HFFTWp}_DIR} (found version \"${FFTW3${HFFTWp}_VERSION}\")")
else()
set(AMReX_FFTW_LIBRARY_DIRS "${fftw3${HFFTWp}_LIBDIR}")
find_package(PkgConfig REQUIRED QUIET)
pkg_check_modules(fftw3${HFFTWp} REQUIRED IMPORTED_TARGET fftw3${HFFTWp})
message(STATUS "Found FFTW: ${fftw3${HFFTWp}_PREFIX}")
if(fftw3${HFFTWp}_LIBRARY_DIRS)
set(AMReX_FFTW_LIBRARY_DIRS "${fftw3${HFFTWp}_LIBRARY_DIRS}")
else()
set(AMReX_FFTW_LIBRARY_DIRS "${fftw3${HFFTWp}_LIBDIR}")
endif()
endif()
endif()

# Create imported target
add_library(AMReX::FFTW INTERFACE IMPORTED GLOBAL)
if(AMReX_FFTW_SEARCH STREQUAL CMAKE)
target_link_libraries(AMReX::FFTW INTERFACE FFTW3::fftw3${HFFTWp})
else()
target_link_libraries(AMReX::FFTW INTERFACE PkgConfig::fftw3${HFFTWp})
endif()
if(AMReX_FFTW_SEARCH STREQUAL CMAKE)
target_link_libraries(AMReX::FFTW INTERFACE FFTW3::fftw3${HFFTWp})
else()
target_link_libraries(AMReX::FFTW INTERFACE PkgConfig::fftw3${HFFTWp})
endif()

if(AMReX_OMP)
if(AMReX_FFTW_IGNORE_OMP)
message(STATUS "FFTW: Requested to IGNORE OpenMP support")
if(AMReX_OMP)
if(AMReX_FFTW_IGNORE_OMP)
message(STATUS "FFTW: Requested to IGNORE OpenMP support")
else()
fftw_check_omp("${AMReX_FFTW_LIBRARY_DIRS}" "${HFFTWp}")
endif()
else()
fftw_check_omp("${AMReX_FFTW_LIBRARY_DIRS}" "${HFFTWp}")
message(STATUS "FFTW: Did NOT search for OpenMP support (AMReX_OMP is not set)")
endif()
else()
message(STATUS "FFTW: Did NOT search for OpenMP support (AMReX_OMP is not set)")
endif()
endfunction()

# floating point precision suffixes: we request float and double precision
fftw_find_precision("")
fftw_find_precision("f")

# Vars for CMake config
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(AMReXFFTW
HANDLE_COMPONENTS)
HANDLE_COMPONENTS)

0 comments on commit 0f110f5

Please sign in to comment.