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

# Content
1 ## 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)