summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2023-08-25 22:07:44 -0400
committerouwou <26526779+ouwou@users.noreply.github.com>2023-08-25 22:07:44 -0400
commitdaacad489a4cd2a080c8bb811d9c8fb26c80b7cb (patch)
tree46384ad17c988d679b4137805a3dbc9212a50629
parentbd4345cb6856e6278ce452e430a4f658cb8143fe (diff)
downloadabaddon-portaudio-daacad489a4cd2a080c8bb811d9c8fb26c80b7cb.tar.gz
abaddon-portaudio-daacad489a4cd2a080c8bb811d9c8fb26c80b7cb.zip
add find module for rnnoise
-rw-r--r--CMakeLists.txt2
-rw-r--r--cmake/Findrnnoise.cmake48
2 files changed, 50 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0b5b9f4..6804671 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -190,6 +190,8 @@ if (ENABLE_VOICE)
subprojects/rnnoise/include/rnnoise.h)
target_include_directories(rnnoise PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/subprojects/rnnoise/include")
target_link_libraries(abaddon rnnoise)
+ else ()
+ target_link_libraries(abaddon rnnoise::rnnoise)
endif ()
endif ()
diff --git a/cmake/Findrnnoise.cmake b/cmake/Findrnnoise.cmake
new file mode 100644
index 0000000..588c1e3
--- /dev/null
+++ b/cmake/Findrnnoise.cmake
@@ -0,0 +1,48 @@
+function(add_imported_library library headers)
+ add_library(rnnoise::rnnoise UNKNOWN IMPORTED)
+ set_target_properties(rnnoise::rnnoise PROPERTIES
+ IMPORTED_LOCATION ${library}
+ INTERFACE_INCLUDE_DIRECTORIES ${headers}
+ )
+
+ set(rnnoise_FOUND 1 CACHE INTERNAL "rnnoise found" FORCE)
+ set(rnnoise_LIBRARIES ${library}
+ CACHE STRING "Path to rnnoise library" FORCE)
+ set(rnnoise_INCLUDES ${headers}
+ CACHE STRING "Path to rnnoise headers" FORCE)
+ mark_as_advanced(FORCE rnnoise_LIBRARIES)
+ mark_as_advanced(FORCE rnnoise_INCLUDES)
+endfunction()
+
+if (rnnoise_LIBRARIES AND rnnoise_INCLUDES)
+ add_imported_library(${rnnoise_LIBRARIES} ${rnnoise_INCLUDES})
+ return()
+endif()
+
+file(TO_CMAKE_PATH "$ENV{rnnoise_DIR}" _rnnoise_DIR)
+find_library(rnnoise_LIBRARY_PATH
+ NAMES librnnoise rnnoise
+ PATHS
+ ${_rnnoise_DIR}/lib/${CMAKE_LIBRARY_ARCHITECTURE}
+ /usr/lib
+)
+
+find_path(rnnoise_HEADER_PATH
+ NAMES rnnoise.h
+ PATHS
+ ${_rnnoise_DIR}/include
+ /usr/include
+)
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(
+ rnnoise DEFAULT_MSG rnnoise_LIBRARY_PATH rnnoise_HEADER_PATH
+)
+
+if (rnnoise_FOUND)
+ add_imported_library(
+ "${rnnoise_LIBRARY_PATH};${rnnoise_LIBRARIES}"
+ "${rnnoise_HEADER_PATH};${rnnoise_INCLUDE_DIRECTORIES}"
+ )
+endif()
+