diff options
-rw-r--r-- | cmake/modules/FindPORTAUDIO.cmake | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/cmake/modules/FindPORTAUDIO.cmake b/cmake/modules/FindPORTAUDIO.cmake index 6478313e46..fd456358c0 100644 --- a/cmake/modules/FindPORTAUDIO.cmake +++ b/cmake/modules/FindPORTAUDIO.cmake @@ -20,7 +20,7 @@ FIND_PATH(PORTAUDIO_INCLUDE_DIR portaudio.h HINTS "${PORTAUDIO_HINTS}/include" ) SET(PORTAUDIO_NAMES portaudio) FIND_LIBRARY(PORTAUDIO_LIBRARY NAMES ${PORTAUDIO_NAMES} ) -# handle the QUIETLY and REQUIRED arguments and set PORTAUDIO_FOUND to TRUE if +# handle the QUIETLY and REQUIRED arguments and set PORTAUDIO_FOUND to TRUE if # all listed variables are TRUE INCLUDE(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(PORTAUDIO DEFAULT_MSG PORTAUDIO_LIBRARY PORTAUDIO_INCLUDE_DIR) @@ -28,6 +28,22 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(PORTAUDIO DEFAULT_MSG PORTAUDIO_LIBRARY PORTAU IF(PORTAUDIO_FOUND) SET( PORTAUDIO_LIBRARIES ${PORTAUDIO_LIBRARY} ) SET( PORTAUDIO_INCLUDE_DIRS ${PORTAUDIO_INCLUDE_DIR} ) + + # Check for newer PortAudio V19 API + # http://www.portaudio.com/docs/proposals/018-VersionInformationInterface.html + INCLUDE(CheckFunctionExists) + SET(CMAKE_REQUIRED_INCLUDES ${PORTAUDIO_INCLUDE_DIRS}) + SET(CMAKE_REQUIRED_LIBRARIES ${PORTAUDIO_LIBRARIES}) + CHECK_FUNCTION_EXISTS(Pa_GetVersion HAVE_PA_GETVERSION) + SET(CMAKE_REQUIRED_INCLUDES "") + SET(CMAKE_REQUIRED_LIBRARIES "") + IF(HAVE_PA_GETVERSION) + # Symbol found, must be the newer V19 API + SET( PORTAUDIO_API_1 ) + ELSE(HAVE_PA_GETVERSION) + # Symbol not found, must be the older V18 API + SET( PORTAUDIO_API_1 1 ) + ENDIF(HAVE_PA_GETVERSION) ELSE(PORTAUDIO_FOUND) SET( PORTAUDIO_LIBRARIES ) SET( PORTAUDIO_INCLUDE_DIRS ) |