2009-09-23 19:40:25 +00:00
|
|
|
#
|
2009-09-08 07:03:57 +00:00
|
|
|
# - Find portaudio
|
|
|
|
# Find the native PORTAUDIO includes and library
|
|
|
|
#
|
2009-09-09 13:20:33 +00:00
|
|
|
# PORTAUDIO_INCLUDE_DIRS - where to find portaudio.h, etc.
|
|
|
|
# PORTAUDIO_LIBRARIES - List of libraries when using portaudio.
|
|
|
|
# PORTAUDIO_FOUND - True if portaudio found.
|
2015-04-26 13:22:05 +00:00
|
|
|
#
|
|
|
|
# For Windows, Portaudio is just a set of headers, there is no library
|
|
|
|
# we build an archive ourselves
|
|
|
|
# So set PORTAUDIO_SRC_DIR and PORT_AUDIO_INCLUDE_DIRS
|
2009-09-08 07:03:57 +00:00
|
|
|
|
|
|
|
|
2009-09-09 13:20:33 +00:00
|
|
|
IF (PORTAUDIO_INCLUDE_DIRS)
|
2009-09-08 07:03:57 +00:00
|
|
|
# Already in cache, be silent
|
|
|
|
SET(PORTAUDIO_FIND_QUIETLY TRUE)
|
2009-09-09 13:20:33 +00:00
|
|
|
ENDIF (PORTAUDIO_INCLUDE_DIRS)
|
2009-09-08 07:03:57 +00:00
|
|
|
|
2013-09-23 21:45:55 +00:00
|
|
|
INCLUDE(FindWSWinLibs)
|
|
|
|
FindWSWinLibs("portaudio_.*" "PORTAUDIO_HINTS")
|
|
|
|
|
2014-09-25 10:09:23 +00:00
|
|
|
find_package(PkgConfig)
|
|
|
|
pkg_search_module(PORTAUDIO portaudio-2.0)
|
|
|
|
|
|
|
|
FIND_PATH(PORTAUDIO_INCLUDE_DIR portaudio.h
|
|
|
|
HINTS
|
|
|
|
"${PORTAUDIO_INCLUDEDIR}"
|
|
|
|
"${PORTAUDIO_HINTS}/include"
|
|
|
|
)
|
2009-09-08 07:03:57 +00:00
|
|
|
|
|
|
|
SET(PORTAUDIO_NAMES portaudio)
|
2014-09-25 10:09:23 +00:00
|
|
|
FIND_LIBRARY(PORTAUDIO_LIBRARY NAMES ${PORTAUDIO_NAMES}
|
|
|
|
HINTS "${PORTAUDIO_LIBDIR}")
|
2009-09-08 07:03:57 +00:00
|
|
|
|
2014-07-29 10:52:12 +00:00
|
|
|
# handle the QUIETLY and REQUIRED arguments and set PORTAUDIO_FOUND to TRUE if
|
2009-09-08 07:03:57 +00:00
|
|
|
# all listed variables are TRUE
|
|
|
|
INCLUDE(FindPackageHandleStandardArgs)
|
2015-04-26 13:22:05 +00:00
|
|
|
IF(WIN32)
|
|
|
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PORTAUDIO DEFAULT_MSG PORTAUDIO_INCLUDE_DIR)
|
|
|
|
ELSE(WIN32)
|
|
|
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PORTAUDIO DEFAULT_MSG PORTAUDIO_LIBRARY PORTAUDIO_INCLUDE_DIR)
|
|
|
|
ENDIF(WIN32)
|
2009-09-08 07:03:57 +00:00
|
|
|
|
|
|
|
IF(PORTAUDIO_FOUND)
|
2015-04-26 13:22:05 +00:00
|
|
|
IF(WIN32)
|
|
|
|
SET( PORTAUDIO_LIBRARIES "" )
|
|
|
|
SET( PORTAUDIO_SRC_DIR "${PORTAUDIO_HINTS}/src" )
|
|
|
|
SET( PORTAUDIO_INCLUDE_DIR
|
|
|
|
${PORTAUDIO_INCLUDE_DIR}
|
|
|
|
${PORTAUDIO_SRC_DIR}/common
|
|
|
|
${PORTAUDIO_SRC_DIR}/os/win
|
|
|
|
)
|
|
|
|
ELSE(WIN32)
|
|
|
|
SET( PORTAUDIO_LIBRARIES ${PORTAUDIO_LIBRARY} )
|
|
|
|
ENDIF(WIN32)
|
2009-09-09 13:20:33 +00:00
|
|
|
SET( PORTAUDIO_INCLUDE_DIRS ${PORTAUDIO_INCLUDE_DIR} )
|
2014-07-29 10:52:12 +00:00
|
|
|
|
|
|
|
# Check for newer PortAudio V19 API
|
|
|
|
# http://www.portaudio.com/docs/proposals/018-VersionInformationInterface.html
|
2015-04-26 13:22:05 +00:00
|
|
|
IF(WIN32)
|
|
|
|
# We only have the newer version on Windows
|
2014-07-29 10:52:12 +00:00
|
|
|
SET( PORTAUDIO_API_1 )
|
2015-04-26 13:22:05 +00:00
|
|
|
ELSE(WIN32)
|
|
|
|
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)
|
|
|
|
ENDIF(WIN32)
|
2009-09-08 07:03:57 +00:00
|
|
|
ELSE(PORTAUDIO_FOUND)
|
|
|
|
SET( PORTAUDIO_LIBRARIES )
|
2009-09-09 13:20:33 +00:00
|
|
|
SET( PORTAUDIO_INCLUDE_DIRS )
|
2015-04-26 13:22:05 +00:00
|
|
|
SET( PORTAUDIO_SRC_DIR )
|
2009-09-08 07:03:57 +00:00
|
|
|
ENDIF(PORTAUDIO_FOUND)
|
|
|
|
|
2015-04-26 13:22:05 +00:00
|
|
|
MARK_AS_ADVANCED( PORTAUDIO_LIBRARIES PORTAUDIO_INCLUDE_DIRS PORTAUDIO_SRC_DIR )
|