summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/portaudio/bindings/cpp/cmake/modules/FindPortAudio.cmake
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/portaudio/bindings/cpp/cmake/modules/FindPortAudio.cmake')
-rw-r--r--3rdparty/portaudio/bindings/cpp/cmake/modules/FindPortAudio.cmake39
1 files changed, 39 insertions, 0 deletions
diff --git a/3rdparty/portaudio/bindings/cpp/cmake/modules/FindPortAudio.cmake b/3rdparty/portaudio/bindings/cpp/cmake/modules/FindPortAudio.cmake
new file mode 100644
index 00000000000..5d58c158bed
--- /dev/null
+++ b/3rdparty/portaudio/bindings/cpp/cmake/modules/FindPortAudio.cmake
@@ -0,0 +1,39 @@
+
+macro(handle_default)
+
+endmacro()
+
+if(TARGET PortAudio::portaudio)
+ # nothing to do
+ return()
+endif()
+# search for portaudio as cmake module
+find_package(PortAudio CONFIG QUIET)
+if(PortAudio_FOUND)
+ if(TARGET PortAudio::portaudio)
+ return()
+ elseif(TARGET portaudio)
+ # vcpkg and old portaudio installations do not provide the same targets
+ add_library(PortAudio::portaudio ALIAS portaudio)
+ return()
+ else()
+ message(FATAL_ERROR "PortAudio_FOUND but not target PortAudio::portaudio")
+ endif()
+endif()
+
+# search for portaudio via pkg-config
+
+message(STATUS "portaudio could not be found via cmake, specify PortAudio_DIR.\n Searching for it via pkg-config")
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(portaudio REQUIRED QUIET IMPORTED_TARGET GLOBAL portaudio-2.0)
+add_library(PortAudio::portaudio ALIAS PkgConfig::portaudio)
+return()
+
+# include(FindPackageHandleStandardArgs)
+# find_package_handle_standard_args(Foo
+# FOUND_VAR Foo_FOUND
+# REQUIRED_VARS
+# Foo_LIBRARY
+# Foo_INCLUDE_DIR
+# VERSION_VAR Foo_VERSION
+# )