|
3 | 3 | # |
4 | 4 | # Usage: |
5 | 5 | # find_package(FFTW [REQUIRED] [QUIET] ) |
6 | | -# |
7 | | -# It sets the following variables: |
8 | | -# FFTW_FOUND ... true if fftw is found on the system |
9 | | -# FFTW_LIBRARIES ... full path to fftw library |
10 | | -# FFTW_INCLUDES ... fftw include directory |
11 | 6 | # |
12 | 7 | # The following variables will be checked by the function |
13 | 8 | # FFTW_USE_STATIC_LIBS ... if true, only static libraries are found |
14 | 9 | # FFTW_ROOT ... if set, the libraries are exclusively searched |
15 | 10 | # under this path |
16 | | -# FFTW_LIBRARY ... fftw library to use |
17 | | -# FFTW_INCLUDE_DIR ... fftw include directory |
18 | 11 | # |
19 | 12 |
|
20 | 13 | #If environment variable FFTWDIR is specified, it has same effect as FFTW_ROOT |
@@ -79,13 +72,27 @@ else() |
79 | 72 |
|
80 | 73 | endif() |
81 | 74 |
|
82 | | -set(FFTW_LIBRARIES ${FFTW_LIB}) |
| 75 | +if(FFTW_LIB) |
| 76 | + if(NOT TARGET fftw3::fftw) |
| 77 | + add_library(fftw3::fftw UNKNOWN IMPORTED) |
| 78 | + set_target_properties(fftw3::fftw PROPERTIES |
| 79 | + IMPORTED_LOCATION "${FFTW_LIB}" |
| 80 | + INTERFACE_INCLUDE_DIRECTORIES "${FFTW_INCLUDES}" |
| 81 | + ) |
| 82 | + endif() |
| 83 | +endif() |
| 84 | + |
| 85 | + |
| 86 | +if(TARGET fftw3::fftw) |
| 87 | + set(FFTW_FOUND TRUE) |
| 88 | +else() |
| 89 | + set(FFTW_FOUND FALSE) |
| 90 | +endif() |
83 | 91 |
|
84 | | -set( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_SAV} ) |
| 92 | +set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_SAV}) |
85 | 93 |
|
86 | 94 | include(FindPackageHandleStandardArgs) |
87 | 95 | find_package_handle_standard_args(FFTW DEFAULT_MSG |
88 | | - FFTW_INCLUDES FFTW_LIBRARIES) |
89 | | - |
90 | | -mark_as_advanced(FFTW_INCLUDES FFTW_LIBRARIES FFTW_LIB) |
| 96 | + FFTW_INCLUDES FFTW_LIB) |
91 | 97 |
|
| 98 | +mark_as_advanced(FFTW_INCLUDES FFTW_LIB) |
0 commit comments