File: FindFFTW3f.cmake

package info (click to toggle)
hackrf 2024.02.1-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 36,692 kB
  • sloc: ansic: 56,310; xml: 3,424; perl: 2,730; python: 1,427; makefile: 598; asm: 514; vhdl: 319; sh: 179; awk: 20
file content (49 lines) | stat: -rw-r--r-- 1,665 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# http://tim.klingt.org/code/projects/supernova/repository/revisions/d336dd6f400e381bcfd720e96139656de0c53b6a/entry/cmake_modules/FindFFTW3f.cmake
# Modified to use pkg config and use standard var names

# Find single-precision (float) version of FFTW3

find_package(PkgConfig)
pkg_check_modules(PC_FFTW3f "fftw3f >= 3.0")

find_path(
  FFTW3f_INCLUDE_DIRS
  NAMES fftw3.h
  HINTS $ENV{FFTW3_DIR}/include ${PC_FFTW3f_INCLUDE_DIRS}
  PATHS /usr/local/include /usr/include)

find_library(
  FFTW3f_LIBRARIES
  NAMES fftw3f libfftw3f
  HINTS $ENV{FFTW3_DIR}/lib ${PC_FFTW3f_LIBDIR}
  PATHS /usr/local/lib /usr/lib /usr/lib64)

find_library(
  FFTW3f_THREADS_LIBRARIES
  NAMES fftw3f_threads libfftw3f_threads
  HINTS $ENV{FFTW3_DIR}/lib ${PC_FFTW3f_LIBDIR}
  PATHS /usr/local/lib /usr/lib /usr/lib64)

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(FFTW3f DEFAULT_MSG FFTW3f_LIBRARIES
                                  FFTW3f_INCLUDE_DIRS)
mark_as_advanced(FFTW3f_LIBRARIES FFTW3f_INCLUDE_DIRS FFTW3f_THREADS_LIBRARIES)

if(FFTW3f_FOUND AND NOT TARGET fftw3f::fftw3f)
  add_library(fftw3f::fftw3f INTERFACE IMPORTED)
  if(NOT WIN32)
    list(APPEND FFTW3f_LIBRARIES m)
  endif()
  set_target_properties(
    fftw3f::fftw3f
    PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${FFTW3f_INCLUDE_DIRS}"
               INTERFACE_LINK_LIBRARIES "${FFTW3f_LIBRARIES}")
  if(FFTW3f_THREADS_LIBRARIES)
    set_property(
      TARGET fftw3f::fftw3f
      APPEND
      PROPERTY INTERFACE_LINK_LIBRARIES "${FFTW3f_THREADS_LIBRARIES}")
    set_target_properties(
      fftw3f::fftw3f PROPERTIES INTERFACE_COMPILE_DEFINITIONS "FFTW3F_THREADS")
  endif()
endif()