summaryrefslogtreecommitdiff
path: root/cmake/Modules
diff options
context:
space:
mode:
authorJohnathan Corgan <johnathan@corganlabs.com>2014-05-16 15:56:59 -0700
committerJohnathan Corgan <johnathan@corganlabs.com>2014-05-16 15:56:59 -0700
commit1274197aaa56f3ba4b11adb9f33e26054e6a770f (patch)
tree8507829b32f1f5f142b7e49afd1f80754500f427 /cmake/Modules
parent5974a3e57cc6874d55d19dcb02ac9d8161753ea1 (diff)
parent7ff241e0bc2d8a9c6e04af225d3ed74e5a9c762c (diff)
Merge branch 'maint'
Conflicts: gr-filter/python/filter/qa_pfb_channelizer.py
Diffstat (limited to 'cmake/Modules')
-rw-r--r--cmake/Modules/FindPortaudio.cmake25
1 files changed, 21 insertions, 4 deletions
diff --git a/cmake/Modules/FindPortaudio.cmake b/cmake/Modules/FindPortaudio.cmake
index 61e4ae23a1..20145ea8df 100644
--- a/cmake/Modules/FindPortaudio.cmake
+++ b/cmake/Modules/FindPortaudio.cmake
@@ -6,7 +6,7 @@
# PORTAUDIO_LIBRARIES - Link these to use Portaudio
include(FindPkgConfig)
-pkg_check_modules(PC_PORTAUDIO portaudio)
+pkg_check_modules(PC_PORTAUDIO portaudio-2.0)
find_path(PORTAUDIO_INCLUDE_DIRS
NAMES
@@ -15,7 +15,7 @@ find_path(PORTAUDIO_INCLUDE_DIRS
/usr/local/include
/usr/include
HINTS
- ${PC_PORTAUDIO_INCLUDE_DIR}
+ ${PC_PORTAUDIO_INCLUDEDIR}
)
find_library(PORTAUDIO_LIBRARIES
@@ -31,5 +31,22 @@ find_library(PORTAUDIO_LIBRARIES
mark_as_advanced(PORTAUDIO_INCLUDE_DIRS PORTAUDIO_LIBRARIES)
-INCLUDE(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(PORTAUDIO DEFAULT_MSG PORTAUDIO_INCLUDE_DIRS PORTAUDIO_LIBRARIES)
+# Found PORTAUDIO, but it may be version 18 which is not acceptable.
+if(EXISTS ${PORTAUDIO_INCLUDE_DIRS}/portaudio.h)
+ include(CheckCXXSourceCompiles)
+ include(CMakePushCheckState)
+ cmake_push_check_state()
+ set(CMAKE_REQUIRED_INCLUDES ${PORTAUDIO_INCLUDE_DIRS})
+ CHECK_CXX_SOURCE_COMPILES(
+ "#include <portaudio.h>\nPaDeviceIndex pa_find_device_by_name(const char *name); int main () {return 0;}"
+ PORTAUDIO2_FOUND)
+ cmake_pop_check_state()
+ if(PORTAUDIO2_FOUND)
+ INCLUDE(FindPackageHandleStandardArgs)
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(PORTAUDIO DEFAULT_MSG PORTAUDIO_INCLUDE_DIRS PORTAUDIO_LIBRARIES)
+ else(PORTAUDIO2_FOUND)
+ message(STATUS
+ " portaudio.h not compatible (requires API 2.0)")
+ set(PORTAUDIO_FOUND FALSE)
+ endif(PORTAUDIO2_FOUND)
+endif()