File: FindPortAudio.cmake

package info (click to toggle)
ycm-cmake-modules 0.13.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 3,640 kB
  • sloc: python: 319; sh: 181; makefile: 22
file content (70 lines) | stat: -rw-r--r-- 2,409 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# SPDX-FileCopyrightText: 2012-2021 Istituto Italiano di Tecnologia (IIT)
# SPDX-FileCopyrightText: 2008 RobotCub Consortium
# SPDX-License-Identifier: BSD-3-Clause

#[=======================================================================[.rst:
FindPortAudio
-------------

Try to find the PortAudio library.
#]=======================================================================]

include(StandardFindModule)
include(FindPackageHandleStandardArgs)

find_package(portaudio CONFIG QUIET)
if(portaudio_FOUND)
  set(PortAudio_LIBRARIES portaudio)
  set(PortAudio_INCLUDE_DIR "")
  set(PortAudio_INCLUDE_DIRS "")
  find_package_handle_standard_args(PortAudio DEFAULT_MSG PortAudio_LIBRARIES)
else()
  standard_find_module(PortAudio portaudio-2.0)

  if(NOT PortAudio_FOUND)
    if(WIN32)
      if(CMAKE_SIZEOF_VOID_P EQUAL 4)
        set(_suffix "x86")
      else()
        set(_suffix "x64")
      endif()
 
      find_library(PortAudio_LIBRARY_RELEASE
                   NAMES portaudio_${_suffix}
                         portaudio
                   PATHS "C:/portaudio/build/msvc/Debug_${_suffix}")
      mark_as_advanced(PortAudio_LIBRARY_RELEASE)

      find_library(PortAudio_LIBRARY_DEBUG
                   NAMES portaudio_${_suffix}
                         portaudio
                   PATHS "C:/portaudio/build/msvc/Debug_${_suffix}")
      mark_as_advanced(PortAudio_LIBRARY_DEBUG)

      include(SelectLibraryConfigurations)
      select_library_configurations(PortAudio)

      find_path(PortAudio_INCLUDE_DIR portaudio.h C:/portaudio/include)
      mark_as_advanced(PortAudio_INCLUDE_DIR)

      set(PortAudio_LIBRARIES ${PortAudio_LIBRARY})
      set(PortAudio_INCLUDE_DIRS ${PortAudio_INCLUDE_DIR})
    
      find_package_handle_standard_args(PortAudio DEFAULT_MSG PortAudio_LIBRARIES)
      set(PortAudio_FOUND ${PORTAUDIO_FOUND})
    endif()
  endif()
endif()

# Compatibility
set(PORTAUDIO_LIBRARIES ${PortAudio_LIBRARIES})
set(PORTAUDIO_INCLUDE_DIR ${PortAudio_INCLUDE_DIR})
if(PortAudio_LIBRARY_RELEASE)
  get_filename_component(PORTAUDIO_LINK_DIRECTORIES "${PortAudio_LIBRARY_RELEASE}" DIRECTORY)
endif()

# Set package properties if FeatureSummary was included
if(COMMAND set_package_properties)
    set_package_properties(PortAudio PROPERTIES DESCRIPTION "Portable Cross-platform Audio I/O")
    set_package_properties(PortAudio PROPERTIES URL "http://www.portaudio.com/")
endif()