You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							119 lines
						
					
					
						
							2.7 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							119 lines
						
					
					
						
							2.7 KiB
						
					
					
				
								# - Find the FFTW library
							 | 
						|
								#
							 | 
						|
								# Usage:
							 | 
						|
								#   find_package(FFTW [REQUIRED] [QUIET] )
							 | 
						|
								#     
							 | 
						|
								# It sets the following variables:
							 | 
						|
								#   FFTW_FOUND               ... true if fftw is found on the system
							 | 
						|
								#   FFTW_LIBRARIES           ... full path to fftw library
							 | 
						|
								#   FFTW_INCLUDES            ... fftw include directory
							 | 
						|
								#
							 | 
						|
								# The following variables will be checked by the function
							 | 
						|
								#   FFTW_USE_STATIC_LIBS    ... if true, only static libraries are found
							 | 
						|
								#   FFTW_ROOT               ... if set, the libraries are exclusively searched
							 | 
						|
								#                               under this path
							 | 
						|
								#   FFTW_LIBRARY            ... fftw library to use
							 | 
						|
								#   FFTW_INCLUDE_DIR        ... fftw include directory
							 | 
						|
								#
							 | 
						|
								
							 | 
						|
								#If environment variable FFTWDIR is specified, it has same effect as FFTW_ROOT
							 | 
						|
								if( NOT FFTW_ROOT AND ENV{FFTWDIR} )
							 | 
						|
								  set( FFTW_ROOT $ENV{FFTWDIR} )
							 | 
						|
								endif()
							 | 
						|
								
							 | 
						|
								# Check if we can use PkgConfig
							 | 
						|
								find_package(PkgConfig)
							 | 
						|
								
							 | 
						|
								#Determine from PKG
							 | 
						|
								if( PKG_CONFIG_FOUND AND NOT FFTW_ROOT )
							 | 
						|
								  pkg_check_modules( PKG_FFTW QUIET "fftw3" )
							 | 
						|
								endif()
							 | 
						|
								
							 | 
						|
								#Check whether to search static or dynamic libs
							 | 
						|
								set( CMAKE_FIND_LIBRARY_SUFFIXES_SAV ${CMAKE_FIND_LIBRARY_SUFFIXES} )
							 | 
						|
								
							 | 
						|
								if( ${FFTW_USE_STATIC_LIBS} )
							 | 
						|
								  set( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX} )
							 | 
						|
								else()
							 | 
						|
								  set( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_SHARED_LIBRARY_SUFFIX} )
							 | 
						|
								endif()
							 | 
						|
								
							 | 
						|
								if( FFTW_ROOT )
							 | 
						|
								
							 | 
						|
								  #find libs
							 | 
						|
								  find_library(
							 | 
						|
								    FFTW_LIB
							 | 
						|
								    NAMES "fftw3"
							 | 
						|
								    PATHS ${FFTW_ROOT}
							 | 
						|
								    PATH_SUFFIXES "lib" "lib64"
							 | 
						|
								    NO_DEFAULT_PATH
							 | 
						|
								  )
							 | 
						|
								
							 | 
						|
								  find_library(
							 | 
						|
								    FFTWF_LIB
							 | 
						|
								    NAMES "fftw3f"
							 | 
						|
								    PATHS ${FFTW_ROOT}
							 | 
						|
								    PATH_SUFFIXES "lib" "lib64"
							 | 
						|
								    NO_DEFAULT_PATH
							 | 
						|
								  )
							 | 
						|
								
							 | 
						|
								  find_library(
							 | 
						|
								    FFTWL_LIB
							 | 
						|
								    NAMES "fftw3l"
							 | 
						|
								    PATHS ${FFTW_ROOT}
							 | 
						|
								    PATH_SUFFIXES "lib" "lib64"
							 | 
						|
								    NO_DEFAULT_PATH
							 | 
						|
								  )
							 | 
						|
								
							 | 
						|
								  #find includes
							 | 
						|
								  find_path(
							 | 
						|
								    FFTW_INCLUDES
							 | 
						|
								    NAMES "fftw3.h"
							 | 
						|
								    PATHS ${FFTW_ROOT}
							 | 
						|
								    PATH_SUFFIXES "include"
							 | 
						|
								    NO_DEFAULT_PATH
							 | 
						|
								  )
							 | 
						|
								
							 | 
						|
								else()
							 | 
						|
								
							 | 
						|
								  find_library(
							 | 
						|
								    FFTW_LIB
							 | 
						|
								    NAMES "fftw3"
							 | 
						|
								    PATHS ${PKG_FFTW_LIBRARY_DIRS} ${LIB_INSTALL_DIR}
							 | 
						|
								  )
							 | 
						|
								
							 | 
						|
								  find_library(
							 | 
						|
								    FFTWF_LIB
							 | 
						|
								    NAMES "fftw3f"
							 | 
						|
								    PATHS ${PKG_FFTW_LIBRARY_DIRS} ${LIB_INSTALL_DIR}
							 | 
						|
								  )
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								  find_library(
							 | 
						|
								    FFTWL_LIB
							 | 
						|
								    NAMES "fftw3l"
							 | 
						|
								    PATHS ${PKG_FFTW_LIBRARY_DIRS} ${LIB_INSTALL_DIR}
							 | 
						|
								  )
							 | 
						|
								
							 | 
						|
								  find_path(
							 | 
						|
								    FFTW_INCLUDES
							 | 
						|
								    NAMES "fftw3.h"
							 | 
						|
								    PATHS ${PKG_FFTW_INCLUDE_DIRS} ${INCLUDE_INSTALL_DIR}
							 | 
						|
								  )
							 | 
						|
								
							 | 
						|
								endif( FFTW_ROOT )
							 | 
						|
								
							 | 
						|
								set(FFTW_LIBRARIES ${FFTW_LIB} ${FFTWF_LIB})
							 | 
						|
								
							 | 
						|
								if(FFTWL_LIB)
							 | 
						|
								  set(FFTW_LIBRARIES ${FFTW_LIBRARIES} ${FFTWL_LIB})
							 | 
						|
								endif()
							 | 
						|
								
							 | 
						|
								set( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_SAV} )
							 | 
						|
								
							 | 
						|
								include(FindPackageHandleStandardArgs)
							 | 
						|
								find_package_handle_standard_args(FFTW DEFAULT_MSG
							 | 
						|
								                                  FFTW_INCLUDES FFTW_LIBRARIES)
							 | 
						|
								
							 | 
						|
								mark_as_advanced(FFTW_INCLUDES FFTW_LIBRARIES)
							 | 
						|
								
							 |