summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt31
1 files changed, 30 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7a55057..ab51f67 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -11,6 +11,7 @@ option(USE_LIBHANDY "Enable features that require libhandy (default)" ON)
option(ENABLE_VOICE "Enable voice suppport" ON)
option(USE_KEYCHAIN "Store the token in the keychain (default)" ON)
option(ENABLE_NOTIFICATION_SOUNDS "Enable notification sounds (default)" ON)
+option(ENABLE_RNNOISE "Enable RNNoise for voice activity detection (default)" ON)
option(ENABLE_QRCODE_LOGIN "Enable QR code login (default)" ON)
find_package(nlohmann_json REQUIRED)
@@ -161,12 +162,40 @@ if (ENABLE_VOICE)
target_link_libraries(abaddon ${CMAKE_DL_LIBS})
+ if (ENABLE_RNNOISE)
+ find_package(rnnoise QUIET)
+ if (NOT rnnoise_FOUND)
+ message("rnnoise was not found and will be included as a submodule")
+ # This is potentially really stupid
+ add_library(rnnoise
+ subprojects/rnnoise/src/arch.h
+ subprojects/rnnoise/src/celt_lpc.c
+ subprojects/rnnoise/src/celt_lpc.h
+ subprojects/rnnoise/src/common.h
+ subprojects/rnnoise/src/denoise.c
+ subprojects/rnnoise/src/kiss_fft.c
+ subprojects/rnnoise/src/kiss_fft.h
+ subprojects/rnnoise/src/opus_types.h
+ subprojects/rnnoise/src/pitch.c
+ subprojects/rnnoise/src/pitch.h
+ subprojects/rnnoise/src/rnn_data.c
+ subprojects/rnnoise/src/rnn_data.h
+ subprojects/rnnoise/src/rnn_reader.c
+ subprojects/rnnoise/src/rnn.c
+ subprojects/rnnoise/src/rnn.h
+ subprojects/rnnoise/src/tansig_table.h
+ subprojects/rnnoise/src/_kiss_fft_guts.h
+ subprojects/rnnoise/include/rnnoise.h)
+ target_include_directories(rnnoise PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/subprojects/rnnoise/include")
+ target_link_libraries(abaddon rnnoise)
+ endif ()
+ endif ()
+
if (APPLE)
target_link_libraries(abaddon "-framework CoreFoundation")
target_link_libraries(abaddon "-framework CoreAudio")
target_link_libraries(abaddon "-framework AudioToolbox")
endif ()
-
endif ()
if (${ENABLE_NOTIFICATION_SOUNDS})