summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorMatthias Vogelgesang <matthias.vogelgesang@kit.edu>2011-04-04 10:47:03 +0200
committerMatthias Vogelgesang <matthias.vogelgesang@kit.edu>2011-04-04 10:47:03 +0200
commit06fcba52d407e024ca01c896083a96a7685be286 (patch)
tree82ebb4117ca624ef388b8019765f2866234a556f /common
parent70c166b208ceaef44c32989f18b41ee1b8dd4158 (diff)
downloadufo-filters-06fcba52d407e024ca01c896083a96a7685be286.tar.gz
ufo-filters-06fcba52d407e024ca01c896083a96a7685be286.tar.bz2
ufo-filters-06fcba52d407e024ca01c896083a96a7685be286.tar.xz
ufo-filters-06fcba52d407e024ca01c896083a96a7685be286.zip
Re-arrange directories, includes etc.
Diffstat (limited to 'common')
-rw-r--r--common/cmake/FindCheck.cmake55
-rw-r--r--common/cmake/FindFFTW3.cmake133
-rw-r--r--common/cmake/FindOpenCL.cmake79
3 files changed, 267 insertions, 0 deletions
diff --git a/common/cmake/FindCheck.cmake b/common/cmake/FindCheck.cmake
new file mode 100644
index 0000000..c25ac03
--- /dev/null
+++ b/common/cmake/FindCheck.cmake
@@ -0,0 +1,55 @@
+# - Try to find the CHECK libraries
+# Once done this will define
+#
+# CHECK_FOUND - system has check
+# CHECK_INCLUDE_DIRS - the check include directory
+# CHECK_LIBRARIES - check library
+#
+# Copyright (c) 2007 Daniel Gollub <gollub@b1-systems.de>
+# Copyright (c) 2007-2009 Bjoern Ricks <bjoern.ricks@gmail.com>
+#
+# Redistribution and use is allowed according to the terms of the New
+# BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+
+INCLUDE( FindPkgConfig )
+
+IF ( Check_FIND_REQUIRED )
+ SET( _pkgconfig_REQUIRED "REQUIRED" )
+ELSE( Check_FIND_REQUIRED )
+ SET( _pkgconfig_REQUIRED "" )
+ENDIF ( Check_FIND_REQUIRED )
+
+IF ( CHECK_MIN_VERSION )
+ PKG_SEARCH_MODULE( CHECK ${_pkgconfig_REQUIRED} check>=${CHECK_MIN_VERSION} )
+ELSE ( CHECK_MIN_VERSION )
+ PKG_SEARCH_MODULE( CHECK ${_pkgconfig_REQUIRED} check )
+ENDIF ( CHECK_MIN_VERSION )
+
+# Look for CHECK include dir and libraries
+IF( NOT CHECK_FOUND AND NOT PKG_CONFIG_FOUND )
+
+ FIND_PATH( CHECK_INCLUDE_DIRS check.h )
+
+ FIND_LIBRARY( CHECK_LIBRARIES NAMES check )
+
+ IF ( CHECK_INCLUDE_DIRS AND CHECK_LIBRARIES )
+ SET( CHECK_FOUND 1 )
+ IF ( NOT Check_FIND_QUIETLY )
+ MESSAGE ( STATUS "Found CHECK: ${CHECK_LIBRARIES}" )
+ ENDIF ( NOT Check_FIND_QUIETLY )
+ ELSE ( CHECK_INCLUDE_DIRS AND CHECK_LIBRARIES )
+ IF ( Check_FIND_REQUIRED )
+ MESSAGE( FATAL_ERROR "Could NOT find CHECK" )
+ ELSE ( Check_FIND_REQUIRED )
+ IF ( NOT Check_FIND_QUIETLY )
+ MESSAGE( STATUS "Could NOT find CHECK" )
+ ENDIF ( NOT Check_FIND_QUIETLY )
+ ENDIF ( Check_FIND_REQUIRED )
+ ENDIF ( CHECK_INCLUDE_DIRS AND CHECK_LIBRARIES )
+ENDIF( NOT CHECK_FOUND AND NOT PKG_CONFIG_FOUND )
+
+# Hide advanced variables from CMake GUIs
+MARK_AS_ADVANCED( CHECK_INCLUDE_DIRS CHECK_LIBRARIES )
+
diff --git a/common/cmake/FindFFTW3.cmake b/common/cmake/FindFFTW3.cmake
new file mode 100644
index 0000000..252fcd9
--- /dev/null
+++ b/common/cmake/FindFFTW3.cmake
@@ -0,0 +1,133 @@
+#
+# Try to find FFTW3 library
+# (see www.fftw.org)
+# Once run this will define:
+#
+# FFTW3_FOUND
+# FFTW3_INCLUDE_DIR
+# FFTW3_LIBRARIES
+# FFTW3_LINK_DIRECTORIES
+#
+# You may set one of these options before including this file:
+# FFTW3_USE_SSE2
+#
+# TODO: _F_ versions.
+#
+# Jan Woetzel 05/2004
+# www.mip.informatik.uni-kiel.de
+# --------------------------------
+
+ FIND_PATH(FFTW3_INCLUDE_DIR fftw3.h
+ ${FFTW3_DIR}/include
+ ${FFTW3_HOME}/include
+ ${FFTW3_DIR}
+ ${FFTW3_HOME}
+ $ENV{FFTW3_DIR}/include
+ $ENV{FFTW3_HOME}/include
+ $ENV{FFTW3_DIR}
+ $ENV{FFTW3_HOME}
+ /usr/include
+ /usr/local/include
+ $ENV{SOURCE_DIR}/fftw3
+ $ENV{SOURCE_DIR}/fftw3/include
+ $ENV{SOURCE_DIR}/fftw
+ $ENV{SOURCE_DIR}/fftw/include
+ )
+#MESSAGE("DBG FFTW3_INCLUDE_DIR=${FFTW3_INCLUDE_DIR}")
+
+
+SET(FFTW3_POSSIBLE_LIBRARY_PATH
+ ${FFTW3_DIR}/lib
+ ${FFTW3_HOME}/lib
+ ${FFTW3_DIR}
+ ${FFTW3_HOME}
+ $ENV{FFTW3_DIR}/lib
+ $ENV{FFTW3_HOME}/lib
+ $ENV{FFTW3_DIR}
+ $ENV{FFTW3_HOME}
+ /usr/lib
+ /usr/local/lib
+ $ENV{SOURCE_DIR}/fftw3
+ $ENV{SOURCE_DIR}/fftw3/lib
+ $ENV{SOURCE_DIR}/fftw
+ $ENV{SOURCE_DIR}/fftw/lib
+)
+
+
+# the lib prefix is containe din filename onf W32, unfortuantely. JW
+# teh "general" lib:
+FIND_LIBRARY(FFTW3_FFTW_LIBRARY
+ NAMES fftw3 libfftw libfftw3 libfftw3-3
+ PATHS
+ ${FFTW3_POSSIBLE_LIBRARY_PATH}
+ )
+#MESSAGE("DBG FFTW3_FFTW_LIBRARY=${FFTW3_FFTW_LIBRARY}")
+
+FIND_LIBRARY(FFTW3_FFTWF_LIBRARY
+ NAMES fftwf3 fftw3f fftwf libfftwf libfftwf3 libfftw3f libfftw3f-3
+ PATHS
+ ${FFTW3_POSSIBLE_LIBRARY_PATH}
+ )
+#MESSAGE("DBG FFTW3_FFTWF_LIBRARY=${FFTW3_FFTWF_LIBRARY}")
+
+FIND_LIBRARY(FFTW3_FFTWL_LIBRARY
+ NAMES fftwl3 fftw3l fftwl libfftwl libfftwl3 libfftw3l libfftw3l-3
+ PATHS
+ ${FFTW3_POSSIBLE_LIBRARY_PATH}
+ )
+#MESSAGE("DBG FFTW3_FFTWF_LIBRARY=${FFTW3_FFTWL_LIBRARY}")
+
+
+FIND_LIBRARY(FFTW3_FFTW_SSE2_LIBRARY
+ NAMES fftw_sse2 fftw3_sse2 libfftw_sse2 libfftw3_sse2
+ PATHS
+ ${FFTW3_POSSIBLE_LIBRARY_PATH}
+ )
+#MESSAGE("DBG FFTW3_FFTW_SSE2_LIBRARY=${FFTW3_FFTW_SSE2_LIBRARY}")
+
+FIND_LIBRARY(FFTW3_FFTWF_SSE_LIBRARY
+ NAMES fftwf_sse fftwf3_sse fftw3f_sse libfftwf_sse libfftwf3_sse libfftw3f_sse
+ PATHS
+ ${FFTW3_POSSIBLE_LIBRARY_PATH}
+ )
+#MESSAGE("DBG FFTW3_FFTWF_SSE_LIBRARY=${FFTW3_FFTWF_SSE_LIBRARY}")
+
+
+# --------------------------------
+# select one of the above
+# default:
+IF (FFTW3_FFTW_LIBRARY)
+ SET(FFTW3_LIBRARIES ${FFTW3_FFTW_LIBRARY})
+ENDIF (FFTW3_FFTW_LIBRARY)
+# specialized:
+IF (FFTW3_USE_SSE2 AND FFTW3_FFTW_SSE2_LIBRARY)
+ SET(FFTW3_LIBRARIES ${FFTW3_FFTW_SSE2_LIBRARY})
+ENDIF (FFTW3_USE_SSE2 AND FFTW3_FFTW_SSE2_LIBRARY)
+
+# --------------------------------
+
+IF(FFTW3_LIBRARIES)
+ IF (FFTW3_INCLUDE_DIR)
+
+ # OK, found all we need
+ SET(FFTW3_FOUND TRUE)
+ GET_FILENAME_COMPONENT(FFTW3_LINK_DIRECTORIES ${FFTW3_LIBRARIES} PATH)
+
+ ELSE (FFTW3_INCLUDE_DIR)
+ MESSAGE("FFTW3 include dir not found. Set FFTW3_DIR to find it.")
+ ENDIF(FFTW3_INCLUDE_DIR)
+ELSE(FFTW3_LIBRARIES)
+ MESSAGE("FFTW3 lib not found. Set FFTW3_DIR to find it.")
+ENDIF(FFTW3_LIBRARIES)
+
+
+MARK_AS_ADVANCED(
+ FFTW3_INCLUDE_DIR
+ FFTW3_LIBRARIES
+ FFTW3_FFTW_LIBRARY
+ FFTW3_FFTW_SSE2_LIBRARY
+ FFTW3_FFTWF_LIBRARY
+ FFTW3_FFTWF_SSE_LIBRARY
+ FFTW3_FFTWL_LIBRARY
+ FFTW3_LINK_DIRECTORIES
+)
diff --git a/common/cmake/FindOpenCL.cmake b/common/cmake/FindOpenCL.cmake
new file mode 100644
index 0000000..8d7c552
--- /dev/null
+++ b/common/cmake/FindOpenCL.cmake
@@ -0,0 +1,79 @@
+# - Try to find OpenCL
+# This module tries to find an OpenCL implementation on your system. It supports
+# AMD / ATI, Apple and NVIDIA implementations, but shoudl work, too.
+#
+# Once done this will define
+# OPENCL_FOUND - system has OpenCL
+# OPENCL_INCLUDE_DIRS - the OpenCL include directory
+# OPENCL_LIBRARIES - link these to use OpenCL
+#
+# WIN32 should work, but is untested
+
+FIND_PACKAGE( PackageHandleStandardArgs )
+
+SET (OPENCL_VERSION_STRING "0.1.0")
+SET (OPENCL_VERSION_MAJOR 0)
+SET (OPENCL_VERSION_MINOR 1)
+SET (OPENCL_VERSION_PATCH 0)
+
+IF (APPLE)
+
+ FIND_LIBRARY(OPENCL_LIBRARIES OpenCL DOC "OpenCL lib for OSX")
+ FIND_PATH(OPENCL_INCLUDE_DIRS OpenCL/cl.h DOC "Include for OpenCL on OSX")
+ FIND_PATH(_OPENCL_CPP_INCLUDE_DIRS OpenCL/cl.hpp DOC "Include for OpenCL CPP bindings on OSX")
+
+ELSE (APPLE)
+
+ IF (WIN32)
+
+ FIND_PATH(OPENCL_INCLUDE_DIRS CL/cl.h)
+ FIND_PATH(_OPENCL_CPP_INCLUDE_DIRS CL/cl.hpp)
+
+ # The AMD SDK currently installs both x86 and x86_64 libraries
+ # This is only a hack to find out architecture
+ IF( ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "AMD64" )
+ SET(OPENCL_LIB_DIR "$ENV{ATISTREAMSDKROOT}/lib/x86_64")
+ ELSE (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "AMD64")
+ SET(OPENCL_LIB_DIR "$ENV{ATISTREAMSDKROOT}/lib/x86")
+ ENDIF( ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "AMD64" )
+ FIND_LIBRARY(OPENCL_LIBRARIES OpenCL.lib ${OPENCL_LIB_DIR})
+
+ GET_FILENAME_COMPONENT(_OPENCL_INC_CAND ${OPENCL_LIB_DIR}/../../include ABSOLUTE)
+
+ # On Win32 search relative to the library
+ FIND_PATH(OPENCL_INCLUDE_DIRS CL/cl.h PATHS "${_OPENCL_INC_CAND}")
+ FIND_PATH(_OPENCL_CPP_INCLUDE_DIRS CL/cl.hpp PATHS "${_OPENCL_INC_CAND}")
+
+ ELSE (WIN32)
+
+ # Unix style platforms
+ FIND_LIBRARY(OPENCL_LIBRARIES OpenCL
+ ENV LD_LIBRARY_PATH
+ )
+
+ GET_FILENAME_COMPONENT(OPENCL_LIB_DIR ${OPENCL_LIBRARIES} PATH)
+ GET_FILENAME_COMPONENT(_OPENCL_INC_CAND ${OPENCL_LIB_DIR}/../../include ABSOLUTE)
+
+ # The AMD SDK currently does not place its headers
+ # in /usr/include, therefore also search relative
+ # to the library
+ FIND_PATH(OPENCL_INCLUDE_DIRS CL/cl.h PATHS ${_OPENCL_INC_CAND} /usr/local/cuda/include)
+ FIND_PATH(_OPENCL_CPP_INCLUDE_DIRS CL/cl.hpp PATHS ${_OPENCL_INC_CAND})
+
+ ENDIF (WIN32)
+
+ENDIF (APPLE)
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS( OpenCL DEFAULT_MSG OPENCL_LIBRARIES OPENCL_INCLUDE_DIRS )
+
+IF( _OPENCL_CPP_INCLUDE_DIRS )
+ SET( OPENCL_HAS_CPP_BINDINGS TRUE )
+ LIST( APPEND OPENCL_INCLUDE_DIRS ${_OPENCL_CPP_INCLUDE_DIRS} )
+ # This is often the same, so clean up
+ LIST( REMOVE_DUPLICATES OPENCL_INCLUDE_DIRS )
+ENDIF( _OPENCL_CPP_INCLUDE_DIRS )
+
+MARK_AS_ADVANCED(
+ OPENCL_INCLUDE_DIRS
+)
+