ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/cmake/modules/FindFFTW.cmake
Revision: 1626
Committed: Tue Sep 13 15:39:54 2011 UTC (13 years, 7 months ago) by gezelter
File size: 2130 byte(s)
Log Message:
Cmake fixes and updates.

File Contents

# User Rev Content
1 gezelter 1626 ## FFTW can be compiled and subsequently linked against
2     ## various data types.
3     ## There is a single set of include files, and then muttiple libraries,
4     ## One for each type. I.e. libfftw.a-->double, libfftwf.a-->float
5    
6     ## The following logic belongs in the individual package
7     mark_as_advanced(USE_FFTWD)
8     option(USE_FFTWD "Use double precision FFTW if found" ON)
9     ## mark_as_advanced(USE_FFTWF)
10     ## option(USE_FFTWF "Use single precision FFTW if found" ON)
11    
12     if(USE_FFTWD OR USE_FFTWF)
13    
14     set(FFTW_INC_SEARCHPATH
15     /sw/include
16     /usr/include
17     /usr/local/include
18     /usr/include/fftw
19     /usr/local/include/fftw
20     /opt/local/include
21     )
22    
23     find_path(FFTW_INCLUDE_PATH fftw3.h ${FFTW_INC_SEARCHPATH})
24    
25     if(FFTW_INCLUDE_PATH)
26     set(FFTW_INCLUDE ${FFTW_INCLUDE_PATH})
27     endif(FFTW_INCLUDE_PATH)
28    
29     if(FFTW_INCLUDE)
30     include_directories( ${FFTW_INCLUDE})
31     endif(FFTW_INCLUDE)
32    
33     get_filename_component(FFTW_INSTALL_BASE_PATH ${FFTW_INCLUDE_PATH} PATH)
34    
35     set(FFTW_LIB_SEARCHPATH
36     ${FFTW_INSTALL_BASE_PATH}/lib
37     /usr/lib/fftw
38     /usr/local/lib/fftw
39     /opt/local/lib
40     )
41    
42     if(USE_FFTWD)
43     mark_as_advanced(FFTWD_LIB)
44     find_library(FFTWD_LIB fftw3 ${FFTW_LIB_SEARCHPATH}) #Double Precision Lib
45     find_library(FFTWD_THREADS_LIB fftw3_threads ${FFTW_LIB_SEARCHPATH}) #Double Precision Lib only if compiled with threads support
46    
47     if(FFTWD_LIB)
48     set(FFTWD_FOUND 1)
49     get_filename_component(FFTW_LIBDIR ${FFTWD_LIB} PATH)
50     if(FFTWD_THREADS_LIB)
51     set(FFTWD_LIB ${FFTWD_LIB} ${FFTWD_THREADS_LIB} )
52     endif(FFTWD_THREADS_LIB)
53     endif(FFTWD_LIB)
54     endif(USE_FFTWD)
55    
56     if(USE_FFTWF)
57     mark_as_advanced(FFTWF_LIB)
58     find_library(FFTWF_LIB fftw3f ${FFTW_LIB_SEARCHPATH}) #Single Precision Lib
59     find_library(FFTWF_THREADS_LIB fftw3f_threads ${FFTW_LIB_SEARCHPATH}) #Single Precision Lib only if compiled with threads support
60    
61     if(FFTWF_LIB)
62     set(FFTWF_FOUND 1)
63     get_filename_component(FFTW_LIBDIR ${FFTWF_LIB} PATH)
64     if(FFTWF_THREADS_LIB)
65     set(FFTWF_LIB ${FFTWF_LIB} ${FFTWF_THREADS_LIB} )
66     endif(FFTWF_THREADS_LIB)
67     endif(FFTWF_LIB)
68     endif(USE_FFTWF)
69    
70     endif(USE_FFTWD OR USE_FFTWF)