tg2sip/libtgvoip/CMakeLists.txt

205 lines
10 KiB
CMake

cmake_minimum_required(VERSION 3.9)
find_package(PkgConfig REQUIRED)
pkg_check_modules(OPUS opus REQUIRED)
pkg_check_modules(OPENSSL openssl REQUIRED)
pkg_check_modules(PJSIP libpjproject>=2.8 REQUIRED)
find_package(spdlog 0.17)
add_library(libtgvoip STATIC
BlockingQueue.cpp
BlockingQueue.h
Buffers.cpp
Buffers.h
CongestionControl.cpp
CongestionControl.h
EchoCanceller.cpp
EchoCanceller.h
JitterBuffer.cpp
JitterBuffer.h
logging.cpp
logging.h
MediaStreamItf.cpp
MediaStreamItf.h
OpusDecoder.cpp
OpusDecoder.h
OpusEncoder.cpp
OpusEncoder.h
threading.h
VoIPController.cpp
VoIPGroupController.cpp
VoIPController.h
PrivateDefines.h
VoIPServerConfig.cpp
VoIPServerConfig.h
audio/AudioInput.cpp
audio/AudioInput.h
audio/AudioOutput.cpp
audio/AudioOutput.h
audio/Resampler.cpp
audio/Resampler.h
NetworkSocket.cpp
NetworkSocket.h
PacketReassembler.cpp
PacketReassembler.h
MessageThread.cpp
MessageThread.h
audio/AudioIO.cpp
audio/AudioIO.h
# POSIX
os/posix/NetworkSocketPosix.cpp
os/posix/NetworkSocketPosix.h
webrtc_dsp/webrtc/base/array_view.h
webrtc_dsp/webrtc/base/atomicops.h
webrtc_dsp/webrtc/base/basictypes.h
webrtc_dsp/webrtc/base/checks.cc
webrtc_dsp/webrtc/base/checks.h
webrtc_dsp/webrtc/base/constructormagic.h
webrtc_dsp/webrtc/base/safe_compare.h
webrtc_dsp/webrtc/base/safe_conversions.h
webrtc_dsp/webrtc/base/safe_conversions_impl.h
webrtc_dsp/webrtc/base/sanitizer.h
webrtc_dsp/webrtc/base/stringutils.cc
webrtc_dsp/webrtc/base/stringutils.h
webrtc_dsp/webrtc/base/type_traits.h
webrtc_dsp/webrtc/common_audio/audio_util.cc
webrtc_dsp/webrtc/common_audio/channel_buffer.cc
webrtc_dsp/webrtc/common_audio/channel_buffer.h
webrtc_dsp/webrtc/common_audio/fft4g.c
webrtc_dsp/webrtc/common_audio/fft4g.h
webrtc_dsp/webrtc/common_audio/include/audio_util.h
webrtc_dsp/webrtc/common_audio/ring_buffer.c
webrtc_dsp/webrtc/common_audio/ring_buffer.h
webrtc_dsp/webrtc/common_audio/signal_processing/auto_corr_to_refl_coef.c
webrtc_dsp/webrtc/common_audio/signal_processing/auto_correlation.c
webrtc_dsp/webrtc/common_audio/signal_processing/complex_bit_reverse.c
webrtc_dsp/webrtc/common_audio/signal_processing/complex_fft.c
webrtc_dsp/webrtc/common_audio/signal_processing/complex_fft_tables.h
webrtc_dsp/webrtc/common_audio/signal_processing/copy_set_operations.c
webrtc_dsp/webrtc/common_audio/signal_processing/cross_correlation.c
webrtc_dsp/webrtc/common_audio/signal_processing/division_operations.c
webrtc_dsp/webrtc/common_audio/signal_processing/dot_product_with_scale.c
webrtc_dsp/webrtc/common_audio/signal_processing/downsample_fast.c
webrtc_dsp/webrtc/common_audio/signal_processing/energy.c
webrtc_dsp/webrtc/common_audio/signal_processing/filter_ar.c
webrtc_dsp/webrtc/common_audio/signal_processing/filter_ar_fast_q12.c
webrtc_dsp/webrtc/common_audio/signal_processing/filter_ma_fast_q12.c
webrtc_dsp/webrtc/common_audio/signal_processing/get_hanning_window.c
webrtc_dsp/webrtc/common_audio/signal_processing/get_scaling_square.c
webrtc_dsp/webrtc/common_audio/signal_processing/ilbc_specific_functions.c
webrtc_dsp/webrtc/common_audio/signal_processing/include/real_fft.h
webrtc_dsp/webrtc/common_audio/signal_processing/include/signal_processing_library.h
webrtc_dsp/webrtc/common_audio/signal_processing/include/spl_inl.h
webrtc_dsp/webrtc/common_audio/signal_processing/include/spl_inl_mips.h
webrtc_dsp/webrtc/common_audio/signal_processing/levinson_durbin.c
webrtc_dsp/webrtc/common_audio/signal_processing/lpc_to_refl_coef.c
webrtc_dsp/webrtc/common_audio/signal_processing/min_max_operations.c
webrtc_dsp/webrtc/common_audio/signal_processing/randomization_functions.c
webrtc_dsp/webrtc/common_audio/signal_processing/real_fft.c
webrtc_dsp/webrtc/common_audio/signal_processing/refl_coef_to_lpc.c
webrtc_dsp/webrtc/common_audio/signal_processing/resample.c
webrtc_dsp/webrtc/common_audio/signal_processing/resample_48khz.c
webrtc_dsp/webrtc/common_audio/signal_processing/resample_by_2.c
webrtc_dsp/webrtc/common_audio/signal_processing/resample_by_2_internal.c
webrtc_dsp/webrtc/common_audio/signal_processing/resample_by_2_internal.h
webrtc_dsp/webrtc/common_audio/signal_processing/resample_fractional.c
webrtc_dsp/webrtc/common_audio/signal_processing/spl_init.c
webrtc_dsp/webrtc/common_audio/signal_processing/spl_inl.c
webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt.c
webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt_floor.c
webrtc_dsp/webrtc/common_audio/signal_processing/splitting_filter_impl.c
webrtc_dsp/webrtc/common_audio/signal_processing/sqrt_of_one_minus_x_squared.c
webrtc_dsp/webrtc/common_audio/signal_processing/vector_scaling_operations.c
webrtc_dsp/webrtc/common_audio/sparse_fir_filter.cc
webrtc_dsp/webrtc/common_audio/sparse_fir_filter.h
webrtc_dsp/webrtc/common_audio/wav_file.cc
webrtc_dsp/webrtc/common_audio/wav_file.h
webrtc_dsp/webrtc/common_audio/wav_header.cc
webrtc_dsp/webrtc/common_audio/wav_header.h
webrtc_dsp/webrtc/modules/audio_processing/aec/aec_common.h
webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core.cc
webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core.h
webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_optimized_methods.h
webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_sse2.cc
webrtc_dsp/webrtc/modules/audio_processing/aec/aec_resampler.cc
webrtc_dsp/webrtc/modules/audio_processing/aec/aec_resampler.h
webrtc_dsp/webrtc/modules/audio_processing/aec/echo_cancellation.cc
webrtc_dsp/webrtc/modules/audio_processing/aec/echo_cancellation.h
webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core.cc
webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core.h
webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core_c.cc
webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_defines.h
webrtc_dsp/webrtc/modules/audio_processing/aecm/echo_control_mobile.cc
webrtc_dsp/webrtc/modules/audio_processing/aecm/echo_control_mobile.h
webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/analog_agc.c
webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/analog_agc.h
webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/digital_agc.c
webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/digital_agc.h
webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/gain_control.h
webrtc_dsp/webrtc/modules/audio_processing/logging/apm_data_dumper.cc
webrtc_dsp/webrtc/modules/audio_processing/logging/apm_data_dumper.h
webrtc_dsp/webrtc/modules/audio_processing/ns/defines.h
webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression.c
webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression.h
webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression_x.c
webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression_x.h
webrtc_dsp/webrtc/modules/audio_processing/ns/ns_core.c
webrtc_dsp/webrtc/modules/audio_processing/ns/ns_core.h
webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core.c
webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core.h
webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core_c.c
webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_defines.h
webrtc_dsp/webrtc/modules/audio_processing/ns/windows_private.h
webrtc_dsp/webrtc/modules/audio_processing/splitting_filter.cc
webrtc_dsp/webrtc/modules/audio_processing/splitting_filter.h
webrtc_dsp/webrtc/modules/audio_processing/three_band_filter_bank.cc
webrtc_dsp/webrtc/modules/audio_processing/three_band_filter_bank.h
webrtc_dsp/webrtc/modules/audio_processing/utility/block_mean_calculator.cc
webrtc_dsp/webrtc/modules/audio_processing/utility/block_mean_calculator.h
webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator.cc
webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator.h
webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator_internal.h
webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator_wrapper.cc
webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator_wrapper.h
webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft.cc
webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft.h
webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc
webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_tables_common.h
webrtc_dsp/webrtc/system_wrappers/include/asm_defines.h
webrtc_dsp/webrtc/system_wrappers/include/compile_assert_c.h
webrtc_dsp/webrtc/system_wrappers/include/cpu_features_wrapper.h
webrtc_dsp/webrtc/system_wrappers/include/metrics.h
webrtc_dsp/webrtc/system_wrappers/source/cpu_features.cc
webrtc_dsp/webrtc/typedefs.h
#SOFTWARE AUDIO
audio/SoftwareAudioInput.h
audio/SoftwareAudioInput.cpp
audio/SoftwareAudioOutput.h
audio/SoftwareAudioOutput.cpp)
set_property(TARGET libtgvoip PROPERTY CXX_STANDARD 11)
target_include_directories(libtgvoip PRIVATE
webrtc_dsp
${OPUS_INCLUDE_DIRS}
${OPENSSL_INCLUDE_DIRS}
${PJSIP_INCLUDE_DIRS})
target_compile_definitions(libtgvoip PRIVATE
WEBRTC_APM_DEBUG_DUMP=0
WEBRTC_POSIX
DEFAULT_THREAD_PRIORITY)
target_compile_definitions(libtgvoip PUBLIC
TGVOIP_USE_DESKTOP_DSP
TGVOIP_USE_SOFTWARE_AUDIO)
if (${spdlog_FOUND})
target_compile_definitions(libtgvoip PUBLIC
TGVOIP_USE_SPDLOG)
else ()
message(STATUS "Could NOT find spdlog")
endif ()