diff options
-rw-r--r-- | CMakeLists.txt | 8 | ||||
-rw-r--r-- | build_files/cmake/Modules/FindFftw3.cmake | 67 | ||||
-rw-r--r-- | build_files/cmake/Modules/FindPythonLibsUnix.cmake | 12 |
3 files changed, 78 insertions, 9 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 8ed9b03c161..cfddf213ed2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -369,10 +369,10 @@ if(UNIX AND NOT APPLE) endif() if(WITH_FFTW3) - set(FFTW3 /usr) - set(FFTW3_INCLUDE_DIRS ${FFTW3}/include) - set(FFTW3_LIBRARIES fftw3) - set(FFTW3_LIBPATH ${FFTW3}/lib) + find_package(Fftw3) + if(NOT FFTW3_FOUND) + set(WITH_FFTW3 OFF) + endif() endif() if(WITH_SAMPLERATE) diff --git a/build_files/cmake/Modules/FindFftw3.cmake b/build_files/cmake/Modules/FindFftw3.cmake new file mode 100644 index 00000000000..1b30fd2af60 --- /dev/null +++ b/build_files/cmake/Modules/FindFftw3.cmake @@ -0,0 +1,67 @@ +# - Find Fftw3 library +# Find the native Fftw3 includes and library +# This module defines +# FFTW3_INCLUDE_DIRS, where to find fftw3.h, Set when +# FFTW3_INCLUDE_DIR is found. +# FFTW3_LIBRARIES, libraries to link against to use Fftw3. +# FFTW3_ROOT_DIR, The base directory to search for Fftw3. +# This can also be an environment variable. +# FFTW3_FOUND, If false, do not try to use Fftw3. +# +# also defined, but not for general use are +# FFTW3_LIBRARY, where to find the Fftw3 library. + +#============================================================================= +# Copyright 2002-2009 Kitware, Inc. +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= +# (To distribute this file outside of CMake, substitute the full +# License text for the above reference.) + +# If FFTW3_ROOT_DIR was defined in the environment, use it. +IF(NOT FFTW3_ROOT_DIR AND NOT $ENV{FFTW3_ROOT_DIR} STREQUAL "") + SET(FFTW3_ROOT_DIR $ENV{FFTW3_ROOT_DIR}) +ENDIF() + +SET(_fftw3_SEARCH_DIRS + ${FFTW3_ROOT_DIR} + /usr/local + /sw # Fink + /opt/local # DarwinPorts + /opt/csw # Blastwave +) + +FIND_PATH(FFTW3_INCLUDE_DIR fftw3.h + HINTS + ${_fftw3_SEARCH_DIRS} + PATH_SUFFIXES + include +) + +FIND_LIBRARY(FFTW3_LIBRARY + NAMES "fftw3" + HINTS ${_fftw3_SEARCH_DIRS} + PATH_SUFFIXES lib64 lib + ) + +# handle the QUIETLY and REQUIRED arguments and set FFTW3_FOUND to TRUE if +# all listed variables are TRUE +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(Fftw3 DEFAULT_MSG + FFTW3_LIBRARY FFTW3_INCLUDE_DIR) + +IF(FFTW3_FOUND) + SET(FFTW3_LIBRARIES ${FFTW3_LIBRARY}) + SET(FFTW3_INCLUDE_DIRS ${FFTW3_INCLUDE_DIR}) +ENDIF(FFTW3_FOUND) + +MARK_AS_ADVANCED( + FFTW3_INCLUDE_DIR + FFTW3_LIBRARY +) diff --git a/build_files/cmake/Modules/FindPythonLibsUnix.cmake b/build_files/cmake/Modules/FindPythonLibsUnix.cmake index 5df12c5d31b..d825adbc496 100644 --- a/build_files/cmake/Modules/FindPythonLibsUnix.cmake +++ b/build_files/cmake/Modules/FindPythonLibsUnix.cmake @@ -22,7 +22,9 @@ set(PYTHON_LINKFLAGS "-Xlinker -export-dynamic") mark_as_advanced(PYTHON_LINKFLAGS) set(_python_ABI_FLAGS - "m;mu;u; ") + "m;mu;u; " # release + "md;mud;ud" # debug +) string(REPLACE "." "" _PYTHON_VERSION_NO_DOTS ${PYTHON_VERSION}) @@ -33,9 +35,9 @@ set(_python_SEARCH_DIRS ) foreach(_CURRENT_ABI_FLAGS ${_python_ABI_FLAGS}) - if(CMAKE_BUILD_TYPE STREQUAL Debug) - set(_CURRENT_ABI_FLAGS "d${_CURRENT_ABI_FLAGS}") - endif() + #if(CMAKE_BUILD_TYPE STREQUAL Debug) + # set(_CURRENT_ABI_FLAGS "d${_CURRENT_ABI_FLAGS}") + #endif() string(REPLACE " " "" _CURRENT_ABI_FLAGS ${_CURRENT_ABI_FLAGS}) find_path(PYTHON_INCLUDE_DIR @@ -50,7 +52,7 @@ foreach(_CURRENT_ABI_FLAGS ${_python_ABI_FLAGS}) PATH_SUFFIXES lib64 lib ) - if((EXISTS ${PYTHON_LIBRARIES}) AND (EXISTS ${PYTHON_INCLUDE_DIR})) + if(PYTHON_LIBRARIES AND PYTHON_INCLUDE_DIR) break() else() # ensure we dont find values from 2 different ABI versions |