File: FindPulseaudio.cmake

package info (click to toggle)
dpf-plugins 1.6%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 145,284 kB
  • sloc: cpp: 299,382; ansic: 61,509; objc: 2,715; makefile: 2,076; xml: 618; sh: 462; java: 211; python: 184
file content (44 lines) | stat: -rw-r--r-- 1,504 bytes parent folder | download | duplicates (2)
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
# First try to use PKG_CONFIG to find Pulseaudio.
find_package(PkgConfig QUIET)
if(PKG_CONFIG_FOUND)
    pkg_check_modules(PULSEAUDIO libpulse QUIET)
endif()

if(NOT PULSEAUDIO_INCLUDEDIR OR NOT PULSEAUDIO_LIBRARIES)
    find_path(PULSEAUDIO_INCLUDEDIR
            pulse/pulseaudio.h
            )

    find_library(PULSEAUDIO_LIBRARIES
            pulse
            )

    if(PULSEAUDIO_INCLUDEDIR AND EXISTS "${PULSEAUDIO_INCLUDEDIR}/pulse/version.h")
        file(STRINGS "${PULSEAUDIO_INCLUDEDIR}/pulse/version.h" pulseaudio_version_str
                REGEX "pa_get_headers_version\(\)"
                )
        if(pulseaudio_version_str AND "${pulseaudio_version_str}" MATCHES "\\(\"([0-9.]+)\"\\)")
            set(PULSEAUDIO_VERSION "${CMAKE_MATCH_1}")
        endif()
    endif()

    set(PULSEAUDIO_CFLAGS "-D_REENTRANT")
endif()

include(FindPackageHandleStandardArgs)

find_package_handle_standard_args(Pulseaudio
        REQUIRED_VARS PULSEAUDIO_LIBRARIES PULSEAUDIO_INCLUDEDIR
        VERSION_VAR PULSEAUDIO_VERSION
        )

if(Pulseaudio_FOUND AND NOT TARGET Pulseaudio::Pulseaudio)
    add_library(Pulseaudio::Pulseaudio INTERFACE IMPORTED)

    set_target_properties(Pulseaudio::Pulseaudio PROPERTIES
            INTERFACE_LINK_LIBRARIES "${PULSEAUDIO_LIBRARIES}"
            INTERFACE_LINK_DIRECTORIES "${PULSEAUDIO_LIBRARY_DIRS}"
            INTERFACE_INCLUDE_DIRECTORIES "${PULSEAUDIO_INCLUDEDIR}"
            INTERFACE_COMPILE_OPTIONS "${PULSEAUDIO_CFLAGS}"
            )
endif()