diff options
author | Matthias Vogelgesang <matthias.vogelgesang@kit.edu> | 2011-04-04 10:47:03 +0200 |
---|---|---|
committer | Matthias Vogelgesang <matthias.vogelgesang@kit.edu> | 2011-04-04 10:47:03 +0200 |
commit | 06fcba52d407e024ca01c896083a96a7685be286 (patch) | |
tree | 82ebb4117ca624ef388b8019765f2866234a556f /common | |
parent | 70c166b208ceaef44c32989f18b41ee1b8dd4158 (diff) | |
download | ufo-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.cmake | 55 | ||||
-rw-r--r-- | common/cmake/FindFFTW3.cmake | 133 | ||||
-rw-r--r-- | common/cmake/FindOpenCL.cmake | 79 |
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 +) + |