ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/cmake/modules/FindFFTW.cmake
Revision: 1668
Committed: Fri Jan 6 19:03:05 2012 UTC (13 years, 4 months ago) by gezelter
File size: 2129 byte(s)
Log Message:
Some fixes for CMake and single precision builds

File Contents

# User Rev Content
1 gezelter 1668 # - Find FFTW
2     # Find the native FFTW includes and library
3     # This module defines
4     # FFTW_INCLUDE_DIR, where to find fftw3.h, etc.
5     # FFTW_LIBRARIES, the libraries needed to use FFTW.
6     # FFTW_FOUND, If false, do not try to use FFTW.
7     # also defined, but not for general use are
8     # FFTW_LIBRARY, where to find the FFTW library.
9    
10     FIND_PATH(FFTW_INCLUDE_DIR fftw3.h
11     /usr/local/include
12     /usr/include
13     /opt/local/lib
14     )
15    
16     SET(FFTW_NAMES ${FFTW_NAMES} fftw3 fftw3f fftw3-3)
17     FIND_LIBRARY(FFTW_LIBRARY
18     NAMES ${FFTW_NAMES}
19     PATHS /usr/lib /usr/local/lib /opt/local/lib
20     )
21    
22     # Find threads part of FFTW
23    
24     SET(FFTW_THREADS_NAMES ${FFTW_THREADS_NAMES} fftw3f_threads fftw3_threads fftw3-3_threads)
25     FIND_LIBRARY(FFTW_THREADS_LIBRARY
26     NAMES ${FFTW_THREADS_NAMES}
27     PATHS /usr/lib /usr/local/lib /opt/local/lib
28     )
29    
30     IF (FFTW_THREADS_LIBRARY AND FFTW_INCLUDE_DIR)
31     SET(FFTW_THREADS_LIBRARIES ${FFTW_THREADS_LIBRARY})
32     SET(FFTW_THREADS_FOUND "YES")
33     ELSE (FFTW_THREADS_LIBRARY AND FFTW_INCLUDE_DIR)
34     SET(FFTW_THREADS_FOUND "NO")
35     ENDIF (FFTW_THREADS_LIBRARY AND FFTW_INCLUDE_DIR)
36    
37    
38     IF (FFTW_THREADS_FOUND)
39     IF (NOT FFTW_THREADS_FIND_QUIETLY)
40     MESSAGE(STATUS "Found FFTW threads: ${FFTW_THREADS_LIBRARIES}")
41     ENDIF (NOT FFTW_THREADS_FIND_QUIETLY)
42     ELSE (FFTW_THREADS_FOUND)
43     IF (FFTW_THREADS_FIND_REQUIRED)
44     MESSAGE(FATAL_ERROR "Could not find FFTW threads library")
45     ENDIF (FFTW_THREADS_FIND_REQUIRED)
46     ENDIF (FFTW_THREADS_FOUND)
47    
48    
49     IF (FFTW_LIBRARY AND FFTW_INCLUDE_DIR)
50     SET(FFTW_LIBRARIES ${FFTW_LIBRARY})
51     SET(FFTW_FOUND "YES")
52     ELSE (FFTW_LIBRARY AND FFTW_INCLUDE_DIR)
53     SET(FFTW_FOUND "NO")
54     ENDIF (FFTW_LIBRARY AND FFTW_INCLUDE_DIR)
55    
56    
57     IF (FFTW_FOUND)
58     IF (NOT FFTW_FIND_QUIETLY)
59     MESSAGE(STATUS "Found FFTW: ${FFTW_LIBRARIES}")
60     ENDIF (NOT FFTW_FIND_QUIETLY)
61     ELSE (FFTW_FOUND)
62     IF (FFTW_FIND_REQUIRED)
63     MESSAGE(FATAL_ERROR "Could not find FFTW library")
64     ENDIF (FFTW_FIND_REQUIRED)
65     ENDIF (FFTW_FOUND)
66    
67     SET (ON_UNIX ${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR
68     ${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
69     IF (${ON_UNIX})
70     SET (FFTW_EXECUTABLE_LIBRARIES fftw3f fftw3f_threads)
71     ENDIF (${ON_UNIX})