FaceAccess/VocieProcess/CMakeLists.txt
2024-09-05 10:40:45 +08:00

141 lines
9.4 KiB
CMake

cmake_minimum_required(VERSION 3.29)
project(VocieProcess)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
include(FetchContent)
set(ABSL_PROPAGATE_CXX_STD ON)
FetchContent_Declare(absl
GIT_REPOSITORY https://github.com/abseil/abseil-cpp.git
)
FetchContent_MakeAvailable(absl)
add_library(VocieProcess
api/audio/audio_processing_statistics.h api/audio/audio_processing_statistics.cc
api/audio/audio_processing.h api/audio/audio_processing.cc
api/audio/channel_layout.h api/audio/channel_layout.cc
api/audio/echo_canceller3_config.h api/audio/echo_canceller3_config.cc
api/task_queue/task_queue_base.h api/task_queue/task_queue_base.cc
api/units/time_delta.h api/units/time_delta.cc
api/units/timestamp.h api/units/timestamp.cc
common_audio/channel_buffer.h common_audio/channel_buffer.cc
common_audio/resampler/push_sinc_resampler.h common_audio/resampler/push_sinc_resampler.cc
common_audio/resampler/sinc_resampler.h common_audio/resampler/sinc_resampler.cc
common_audio/signal_processing/dot_product_with_scale.h common_audio/signal_processing/dot_product_with_scale.cc
common_audio/third_party/ooura/fft_size_128/ooura_fft.h common_audio/third_party/ooura/fft_size_128/ooura_fft.cc
common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.h common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.c
rtc_base/checks.h rtc_base/checks.cc
rtc_base/logging.h rtc_base/logging.cc
rtc_base/platform_thread_types.h rtc_base/platform_thread_types.cc
rtc_base/race_checker.h rtc_base/race_checker.cc
rtc_base/string_encode.h rtc_base/string_encode.cc
rtc_base/string_to_number.h rtc_base/string_to_number.cc
rtc_base/string_utils.h rtc_base/string_utils.cc
rtc_base/system_time.h rtc_base/system_time.cc
rtc_base/time_utils.h rtc_base/time_utils.cc
$<$<PLATFORM_ID:Windows>:rtc_base/win32.h rtc_base/win32.cc>
rtc_base/containers/flat_tree.h rtc_base/containers/flat_tree.cc
rtc_base/experiments/field_trial_parser.h rtc_base/experiments/field_trial_parser.cc
rtc_base/memory/aligned_malloc.h rtc_base/memory/aligned_malloc.cc
rtc_base/strings/string_builder.h rtc_base/strings/string_builder.cc
modules/audio_processing/audio_buffer.h modules/audio_processing/audio_buffer.cc
modules/audio_processing/high_pass_filter.h modules/audio_processing/high_pass_filter.cc
modules/audio_processing/splitting_filter.h modules/audio_processing/splitting_filter.cc
modules/audio_processing/three_band_filter_bank.h modules/audio_processing/three_band_filter_bank.cc
modules/audio_processing/aec3/adaptive_fir_filter_erl.h modules/audio_processing/aec3/adaptive_fir_filter_erl.cc
modules/audio_processing/aec3/adaptive_fir_filter.h modules/audio_processing/aec3/adaptive_fir_filter.cc
modules/audio_processing/aec3/aec_state.h modules/audio_processing/aec3/aec_state.cc
modules/audio_processing/aec3/aec3_common.h modules/audio_processing/aec3/aec3_common.cc
modules/audio_processing/aec3/aec3_fft.h modules/audio_processing/aec3/aec3_fft.cc
modules/audio_processing/aec3/alignment_mixer.h modules/audio_processing/aec3/alignment_mixer.cc
modules/audio_processing/aec3/api_call_jitter_metrics.h modules/audio_processing/aec3/api_call_jitter_metrics.cc
modules/audio_processing/aec3/block_buffer.h modules/audio_processing/aec3/block_buffer.cc
modules/audio_processing/aec3/block_delay_buffer.h modules/audio_processing/aec3/block_delay_buffer.cc
modules/audio_processing/aec3/block_framer.h modules/audio_processing/aec3/block_framer.cc
modules/audio_processing/aec3/block_processor_metrics.h modules/audio_processing/aec3/block_processor_metrics.cc
modules/audio_processing/aec3/block_processor.h modules/audio_processing/aec3/block_processor.cc
modules/audio_processing/aec3/clockdrift_detector.h modules/audio_processing/aec3/clockdrift_detector.cc
modules/audio_processing/aec3/coarse_filter_update_gain.h modules/audio_processing/aec3/coarse_filter_update_gain.cc
modules/audio_processing/aec3/comfort_noise_generator.h modules/audio_processing/aec3/comfort_noise_generator.cc
modules/audio_processing/aec3/config_selector.h modules/audio_processing/aec3/config_selector.cc
modules/audio_processing/aec3/decimator.h modules/audio_processing/aec3/decimator.cc
modules/audio_processing/aec3/dominant_nearend_detector.h modules/audio_processing/aec3/dominant_nearend_detector.cc
modules/audio_processing/aec3/downsampled_render_buffer.h modules/audio_processing/aec3/downsampled_render_buffer.cc
modules/audio_processing/aec3/echo_audibility.h modules/audio_processing/aec3/echo_audibility.cc
modules/audio_processing/aec3/echo_canceller3.h modules/audio_processing/aec3/echo_canceller3.cc
modules/audio_processing/aec3/echo_path_delay_estimator.h modules/audio_processing/aec3/echo_path_delay_estimator.cc
modules/audio_processing/aec3/echo_path_variability.h modules/audio_processing/aec3/echo_path_variability.cc
modules/audio_processing/aec3/echo_remover_metrics.h modules/audio_processing/aec3/echo_remover_metrics.cc
modules/audio_processing/aec3/echo_remover.h modules/audio_processing/aec3/echo_remover.cc
modules/audio_processing/aec3/erl_estimator.h modules/audio_processing/aec3/erl_estimator.cc
modules/audio_processing/aec3/erle_estimator.h modules/audio_processing/aec3/erle_estimator.cc
modules/audio_processing/aec3/fft_buffer.h modules/audio_processing/aec3/fft_buffer.cc
modules/audio_processing/aec3/filter_analyzer.h modules/audio_processing/aec3/filter_analyzer.cc
modules/audio_processing/aec3/frame_blocker.h modules/audio_processing/aec3/frame_blocker.cc
modules/audio_processing/aec3/fullband_erle_estimator.h modules/audio_processing/aec3/fullband_erle_estimator.cc
modules/audio_processing/aec3/matched_filter_lag_aggregator.h modules/audio_processing/aec3/matched_filter_lag_aggregator.cc
modules/audio_processing/aec3/matched_filter.h modules/audio_processing/aec3/matched_filter.cc
modules/audio_processing/aec3/moving_average.h modules/audio_processing/aec3/moving_average.cc
modules/audio_processing/aec3/multi_channel_content_detector.h modules/audio_processing/aec3/multi_channel_content_detector.cc
modules/audio_processing/aec3/refined_filter_update_gain.h modules/audio_processing/aec3/refined_filter_update_gain.cc
modules/audio_processing/aec3/render_buffer.h modules/audio_processing/aec3/render_buffer.cc
modules/audio_processing/aec3/render_delay_buffer.h modules/audio_processing/aec3/render_delay_buffer.cc
modules/audio_processing/aec3/render_delay_controller_metrics.h modules/audio_processing/aec3/render_delay_controller_metrics.cc
modules/audio_processing/aec3/render_delay_controller.h modules/audio_processing/aec3/render_delay_controller.cc
modules/audio_processing/aec3/render_signal_analyzer.h modules/audio_processing/aec3/render_signal_analyzer.cc
modules/audio_processing/aec3/residual_echo_estimator.h modules/audio_processing/aec3/residual_echo_estimator.cc
modules/audio_processing/aec3/reverb_decay_estimator.h modules/audio_processing/aec3/reverb_decay_estimator.cc
modules/audio_processing/aec3/reverb_frequency_response.h modules/audio_processing/aec3/reverb_frequency_response.cc
modules/audio_processing/aec3/reverb_model_estimator.h modules/audio_processing/aec3/reverb_model_estimator.cc
modules/audio_processing/aec3/reverb_model.h modules/audio_processing/aec3/reverb_model.cc
modules/audio_processing/aec3/signal_dependent_erle_estimator.h modules/audio_processing/aec3/signal_dependent_erle_estimator.cc
modules/audio_processing/aec3/spectrum_buffer.h modules/audio_processing/aec3/spectrum_buffer.cc
modules/audio_processing/aec3/stationarity_estimator.h modules/audio_processing/aec3/stationarity_estimator.cc
modules/audio_processing/aec3/subband_erle_estimator.h modules/audio_processing/aec3/subband_erle_estimator.cc
modules/audio_processing/aec3/subband_nearend_detector.h modules/audio_processing/aec3/subband_nearend_detector.cc
modules/audio_processing/aec3/subtractor_output_analyzer.h modules/audio_processing/aec3/subtractor_output_analyzer.cc
modules/audio_processing/aec3/subtractor_output.h modules/audio_processing/aec3/subtractor_output.cc
modules/audio_processing/aec3/subtractor.h modules/audio_processing/aec3/subtractor.cc
modules/audio_processing/aec3/suppression_filter.h modules/audio_processing/aec3/suppression_filter.cc
modules/audio_processing/aec3/suppression_gain.h modules/audio_processing/aec3/suppression_gain.cc
modules/audio_processing/aec3/transparent_mode.h modules/audio_processing/aec3/transparent_mode.cc
modules/audio_processing/logging/apm_data_dumper.h modules/audio_processing/logging/apm_data_dumper.cc
modules/audio_processing/utility/cascaded_biquad_filter.h modules/audio_processing/utility/cascaded_biquad_filter.cc
)
target_compile_definitions(VocieProcess
PRIVATE NOMINMAX # <windows.h>
PRIVATE RTC_DISABLE_LOGGING
PRIVATE RTC_METRICS_ENABLED=0
PRIVATE WEBRTC_APM_DEBUG_DUMP=0
$<$<PLATFORM_ID:Windows>:WEBRTC_WIN>
$<$<PLATFORM_ID:Linux>:WEBRTC_POSIX WEBRTC_LINUX>
)
target_include_directories(VocieProcess
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
)
target_link_libraries(VocieProcess
PRIVATE absl::optional
)