Collection of DPF-based plugins for packaging
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.5KB

  1. # First try to use PKG_CONFIG to find Pulseaudio.
  2. find_package(PkgConfig QUIET)
  3. if(PKG_CONFIG_FOUND)
  4. pkg_check_modules(PULSEAUDIO libpulse QUIET)
  5. endif()
  6. if(NOT PULSEAUDIO_INCLUDEDIR OR NOT PULSEAUDIO_LIBRARIES)
  7. find_path(PULSEAUDIO_INCLUDEDIR
  8. pulse/pulseaudio.h
  9. )
  10. find_library(PULSEAUDIO_LIBRARIES
  11. pulse
  12. )
  13. if(PULSEAUDIO_INCLUDEDIR AND EXISTS "${PULSEAUDIO_INCLUDEDIR}/pulse/version.h")
  14. file(STRINGS "${PULSEAUDIO_INCLUDEDIR}/pulse/version.h" pulseaudio_version_str
  15. REGEX "pa_get_headers_version\(\)"
  16. )
  17. if(pulseaudio_version_str AND "${pulseaudio_version_str}" MATCHES "\\(\"([0-9.]+)\"\\)")
  18. set(PULSEAUDIO_VERSION "${CMAKE_MATCH_1}")
  19. endif()
  20. endif()
  21. set(PULSEAUDIO_CFLAGS "-D_REENTRANT")
  22. endif()
  23. include(FindPackageHandleStandardArgs)
  24. find_package_handle_standard_args(Pulseaudio
  25. REQUIRED_VARS PULSEAUDIO_LIBRARIES PULSEAUDIO_INCLUDEDIR
  26. VERSION_VAR PULSEAUDIO_VERSION
  27. )
  28. if(Pulseaudio_FOUND AND NOT TARGET Pulseaudio::Pulseaudio)
  29. add_library(Pulseaudio::Pulseaudio INTERFACE IMPORTED)
  30. set_target_properties(Pulseaudio::Pulseaudio PROPERTIES
  31. INTERFACE_LINK_LIBRARIES "${PULSEAUDIO_LIBRARIES}"
  32. INTERFACE_LINK_DIRECTORIES "${PULSEAUDIO_LIBRARY_DIRS}"
  33. INTERFACE_INCLUDE_DIRECTORIES "${PULSEAUDIO_INCLUDEDIR}"
  34. INTERFACE_COMPILE_OPTIONS "${PULSEAUDIO_CFLAGS}"
  35. )
  36. endif()