2020-07-09 17:38:26 +00:00
|
|
|
# This file is part of Telegram Desktop,
|
|
|
|
# the official desktop application for the Telegram messaging service.
|
|
|
|
#
|
|
|
|
# For license and copyright information please follow this link:
|
|
|
|
# https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|
|
|
|
|
|
|
add_library(lib_tgcalls STATIC)
|
2021-11-12 08:20:28 +00:00
|
|
|
init_target(lib_tgcalls) # Can't use std::optional::value on macOS.
|
2020-08-11 09:59:48 +00:00
|
|
|
|
2020-07-09 17:38:26 +00:00
|
|
|
add_library(tdesktop::lib_tgcalls ALIAS lib_tgcalls)
|
|
|
|
|
|
|
|
set(tgcalls_dir ${third_party_loc}/tgcalls)
|
|
|
|
set(tgcalls_loc ${tgcalls_dir}/tgcalls)
|
|
|
|
|
|
|
|
nice_target_sources(lib_tgcalls ${tgcalls_loc}
|
|
|
|
PRIVATE
|
2020-07-13 12:47:05 +00:00
|
|
|
Instance.cpp
|
|
|
|
Instance.h
|
2020-07-09 17:38:26 +00:00
|
|
|
)
|
|
|
|
|
2021-02-03 12:23:23 +00:00
|
|
|
nice_target_sources(lib_tgcalls ${tgcalls_loc}
|
|
|
|
PRIVATE
|
|
|
|
AudioDeviceHelper.cpp
|
|
|
|
AudioDeviceHelper.h
|
2022-12-08 07:51:13 +00:00
|
|
|
ChannelManager.cpp
|
|
|
|
ChannelManager.h
|
2021-02-03 12:23:23 +00:00
|
|
|
CodecSelectHelper.cpp
|
|
|
|
CodecSelectHelper.h
|
|
|
|
CryptoHelper.cpp
|
|
|
|
CryptoHelper.h
|
|
|
|
EncryptedConnection.cpp
|
|
|
|
EncryptedConnection.h
|
2021-07-09 18:26:28 +00:00
|
|
|
FakeAudioDeviceModule.cpp
|
|
|
|
FakeAudioDeviceModule.h
|
2022-05-03 15:11:35 +00:00
|
|
|
FieldTrialsConfig.cpp
|
|
|
|
FieldTrialsConfig.h
|
2021-02-03 12:23:23 +00:00
|
|
|
InstanceImpl.cpp
|
|
|
|
InstanceImpl.h
|
|
|
|
LogSinkImpl.cpp
|
|
|
|
LogSinkImpl.h
|
|
|
|
Manager.cpp
|
|
|
|
Manager.h
|
|
|
|
MediaManager.cpp
|
|
|
|
MediaManager.h
|
|
|
|
Message.cpp
|
|
|
|
Message.h
|
|
|
|
NetworkManager.cpp
|
|
|
|
NetworkManager.h
|
2021-07-13 13:27:44 +00:00
|
|
|
SctpDataChannelProviderInterfaceImpl.cpp
|
|
|
|
SctpDataChannelProviderInterfaceImpl.h
|
2021-03-08 07:57:00 +00:00
|
|
|
StaticThreads.cpp
|
|
|
|
StaticThreads.h
|
2021-02-03 12:23:23 +00:00
|
|
|
ThreadLocalObject.h
|
2021-07-13 13:27:44 +00:00
|
|
|
TurnCustomizerImpl.cpp
|
|
|
|
TurnCustomizerImpl.h
|
2021-02-03 12:23:23 +00:00
|
|
|
VideoCaptureInterface.cpp
|
|
|
|
VideoCaptureInterface.h
|
|
|
|
VideoCaptureInterfaceImpl.cpp
|
|
|
|
VideoCaptureInterfaceImpl.h
|
|
|
|
VideoCapturerInterface.h
|
|
|
|
|
2022-05-03 15:11:35 +00:00
|
|
|
utils/gzip.cpp
|
|
|
|
utils/gzip.h
|
|
|
|
|
2022-04-07 12:49:38 +00:00
|
|
|
v2/ContentNegotiation.cpp
|
|
|
|
v2/ContentNegotiation.h
|
2022-05-03 15:11:35 +00:00
|
|
|
v2/ExternalSignalingConnection.cpp
|
|
|
|
v2/ExternalSignalingConnection.h
|
|
|
|
v2/InstanceV2ReferenceImpl.cpp
|
|
|
|
v2/InstanceV2ReferenceImpl.h
|
2021-11-12 06:59:32 +00:00
|
|
|
v2/InstanceV2Impl.cpp
|
|
|
|
v2/InstanceV2Impl.h
|
|
|
|
v2/NativeNetworkingImpl.cpp
|
|
|
|
v2/NativeNetworkingImpl.h
|
2022-05-03 15:11:35 +00:00
|
|
|
v2/ReflectorPort.cpp
|
|
|
|
v2/ReflectorPort.h
|
|
|
|
v2/ReflectorRelayPortFactory.cpp
|
|
|
|
v2/ReflectorRelayPortFactory.h
|
2021-11-12 06:59:32 +00:00
|
|
|
v2/Signaling.cpp
|
|
|
|
v2/Signaling.h
|
2022-05-03 15:11:35 +00:00
|
|
|
v2/SignalingConnection.cpp
|
|
|
|
v2/SignalingConnection.h
|
2021-11-12 06:59:32 +00:00
|
|
|
v2/SignalingEncryption.cpp
|
|
|
|
v2/SignalingEncryption.h
|
2022-05-03 15:11:35 +00:00
|
|
|
v2/SignalingSctpConnection.cpp
|
|
|
|
v2/SignalingSctpConnection.h
|
2022-04-07 12:49:38 +00:00
|
|
|
v2_4_0_0/InstanceV2_4_0_0Impl.cpp
|
|
|
|
v2_4_0_0/InstanceV2_4_0_0Impl.h
|
|
|
|
v2_4_0_0/Signaling_4_0_0.cpp
|
|
|
|
v2_4_0_0/Signaling_4_0_0.h
|
2021-11-12 06:59:32 +00:00
|
|
|
|
2021-04-16 14:15:56 +00:00
|
|
|
# Desktop capturer
|
|
|
|
desktop_capturer/DesktopCaptureSource.h
|
2021-04-19 15:41:14 +00:00
|
|
|
desktop_capturer/DesktopCaptureSource.cpp
|
2021-04-16 14:15:56 +00:00
|
|
|
desktop_capturer/DesktopCaptureSourceHelper.h
|
2021-04-19 15:41:14 +00:00
|
|
|
desktop_capturer/DesktopCaptureSourceHelper.cpp
|
2021-04-16 14:15:56 +00:00
|
|
|
desktop_capturer/DesktopCaptureSourceManager.h
|
2021-04-19 15:41:14 +00:00
|
|
|
desktop_capturer/DesktopCaptureSourceManager.cpp
|
2021-04-16 14:15:56 +00:00
|
|
|
|
|
|
|
# Group calls
|
2022-02-25 08:17:23 +00:00
|
|
|
group/AVIOContextImpl.cpp
|
|
|
|
group/AVIOContextImpl.h
|
2021-08-24 17:57:54 +00:00
|
|
|
group/AudioStreamingPart.cpp
|
|
|
|
group/AudioStreamingPart.h
|
2022-02-25 08:17:23 +00:00
|
|
|
group/AudioStreamingPartInternal.cpp
|
|
|
|
group/AudioStreamingPartInternal.h
|
2022-02-25 13:30:58 +00:00
|
|
|
group/AudioStreamingPartPersistentDecoder.cpp
|
|
|
|
group/AudioStreamingPartPersistentDecoder.h
|
2021-03-08 07:57:00 +00:00
|
|
|
group/GroupInstanceCustomImpl.cpp
|
|
|
|
group/GroupInstanceCustomImpl.h
|
2021-04-29 11:36:53 +00:00
|
|
|
group/GroupInstanceImpl.h
|
|
|
|
group/GroupJoinPayloadInternal.cpp
|
|
|
|
group/GroupJoinPayloadInternal.h
|
|
|
|
group/GroupJoinPayload.h
|
2021-03-08 07:57:00 +00:00
|
|
|
group/GroupNetworkManager.cpp
|
|
|
|
group/GroupNetworkManager.h
|
2021-08-24 17:57:54 +00:00
|
|
|
group/StreamingMediaContext.cpp
|
|
|
|
group/StreamingMediaContext.h
|
|
|
|
group/VideoStreamingPart.cpp
|
|
|
|
group/VideoStreamingPart.h
|
2021-02-03 12:23:23 +00:00
|
|
|
|
|
|
|
platform/PlatformInterface.h
|
|
|
|
|
|
|
|
# Android
|
|
|
|
platform/android/AndroidContext.cpp
|
|
|
|
platform/android/AndroidContext.h
|
|
|
|
platform/android/AndroidInterface.cpp
|
|
|
|
platform/android/AndroidInterface.h
|
|
|
|
platform/android/VideoCameraCapturer.cpp
|
|
|
|
platform/android/VideoCameraCapturer.h
|
|
|
|
platform/android/VideoCapturerInterfaceImpl.cpp
|
|
|
|
platform/android/VideoCapturerInterfaceImpl.h
|
|
|
|
|
|
|
|
# iOS / macOS
|
2022-01-29 11:06:55 +00:00
|
|
|
platform/darwin/CustomSimulcastEncoderAdapter.cpp
|
|
|
|
platform/darwin/CustomSimulcastEncoderAdapter.h
|
2021-02-03 12:23:23 +00:00
|
|
|
platform/darwin/DarwinInterface.h
|
|
|
|
platform/darwin/DarwinInterface.mm
|
2021-05-28 15:08:11 +00:00
|
|
|
platform/darwin/DarwinVideoSource.h
|
|
|
|
platform/darwin/DarwinVideoSource.mm
|
2021-04-19 15:41:14 +00:00
|
|
|
platform/darwin/DesktopSharingCapturer.h
|
|
|
|
platform/darwin/DesktopSharingCapturer.mm
|
2021-02-03 12:23:23 +00:00
|
|
|
platform/darwin/GLVideoView.h
|
|
|
|
platform/darwin/GLVideoView.mm
|
2021-04-16 14:15:56 +00:00
|
|
|
platform/darwin/GLVideoViewMac.h
|
|
|
|
platform/darwin/GLVideoViewMac.mm
|
2021-07-15 13:43:07 +00:00
|
|
|
platform/darwin/objc_video_encoder_factory.h
|
|
|
|
platform/darwin/objc_video_encoder_factory.mm
|
2021-08-10 16:24:56 +00:00
|
|
|
platform/darwin/objc_video_decoder_factory.h
|
|
|
|
platform/darwin/objc_video_decoder_factory.mm
|
2021-06-22 19:07:33 +00:00
|
|
|
platform/darwin/TGCMIOCapturer.h
|
|
|
|
platform/darwin/TGCMIOCapturer.m
|
|
|
|
platform/darwin/TGCMIODevice.h
|
|
|
|
platform/darwin/TGCMIODevice.mm
|
2021-02-03 12:23:23 +00:00
|
|
|
platform/darwin/TGRTCCVPixelBuffer.h
|
|
|
|
platform/darwin/TGRTCCVPixelBuffer.mm
|
|
|
|
platform/darwin/TGRTCDefaultVideoDecoderFactory.h
|
|
|
|
platform/darwin/TGRTCDefaultVideoDecoderFactory.mm
|
|
|
|
platform/darwin/TGRTCDefaultVideoEncoderFactory.h
|
|
|
|
platform/darwin/TGRTCDefaultVideoEncoderFactory.mm
|
|
|
|
platform/darwin/TGRTCVideoDecoderH264.h
|
|
|
|
platform/darwin/TGRTCVideoDecoderH264.mm
|
|
|
|
platform/darwin/TGRTCVideoDecoderH265.h
|
|
|
|
platform/darwin/TGRTCVideoDecoderH265.mm
|
|
|
|
platform/darwin/TGRTCVideoEncoderH264.h
|
|
|
|
platform/darwin/TGRTCVideoEncoderH264.mm
|
|
|
|
platform/darwin/TGRTCVideoEncoderH265.h
|
|
|
|
platform/darwin/TGRTCVideoEncoderH265.mm
|
|
|
|
platform/darwin/VideoCameraCapturer.h
|
|
|
|
platform/darwin/VideoCameraCapturer.mm
|
|
|
|
platform/darwin/VideoCameraCapturerMac.h
|
|
|
|
platform/darwin/VideoCameraCapturerMac.mm
|
|
|
|
platform/darwin/VideoCapturerInterfaceImpl.h
|
|
|
|
platform/darwin/VideoCapturerInterfaceImpl.mm
|
2021-06-22 19:07:33 +00:00
|
|
|
platform/darwin/VideoCMIOCapture.h
|
|
|
|
platform/darwin/VideoCMIOCapture.mm
|
2021-02-03 12:23:23 +00:00
|
|
|
platform/darwin/VideoMetalView.h
|
|
|
|
platform/darwin/VideoMetalView.mm
|
|
|
|
platform/darwin/VideoMetalViewMac.h
|
|
|
|
platform/darwin/VideoMetalViewMac.mm
|
2021-11-29 05:47:39 +00:00
|
|
|
|
2021-02-03 12:23:23 +00:00
|
|
|
# POSIX
|
|
|
|
|
|
|
|
# Teleram Desktop
|
|
|
|
platform/tdesktop/DesktopInterface.cpp
|
|
|
|
platform/tdesktop/DesktopInterface.h
|
|
|
|
platform/tdesktop/VideoCapturerInterfaceImpl.cpp
|
|
|
|
platform/tdesktop/VideoCapturerInterfaceImpl.h
|
|
|
|
platform/tdesktop/VideoCapturerTrackSource.cpp
|
|
|
|
platform/tdesktop/VideoCapturerTrackSource.h
|
|
|
|
platform/tdesktop/VideoCameraCapturer.cpp
|
|
|
|
platform/tdesktop/VideoCameraCapturer.h
|
|
|
|
|
2021-04-29 11:36:53 +00:00
|
|
|
# third-party
|
|
|
|
third-party/json11.cpp
|
|
|
|
third-party/json11.hpp
|
2021-02-03 12:23:23 +00:00
|
|
|
)
|
2020-08-11 13:31:27 +00:00
|
|
|
|
2021-02-03 12:23:23 +00:00
|
|
|
target_link_libraries(lib_tgcalls
|
|
|
|
PRIVATE
|
|
|
|
desktop-app::external_webrtc
|
2021-03-09 08:33:01 +00:00
|
|
|
desktop-app::external_ffmpeg
|
2022-01-12 11:01:23 +00:00
|
|
|
desktop-app::external_openssl
|
2021-04-15 13:55:13 +00:00
|
|
|
desktop-app::external_rnnoise
|
2022-05-03 15:11:35 +00:00
|
|
|
desktop-app::external_zlib
|
2021-02-03 12:23:23 +00:00
|
|
|
)
|
2020-08-11 13:31:27 +00:00
|
|
|
|
2020-07-13 14:04:02 +00:00
|
|
|
target_compile_definitions(lib_tgcalls
|
2021-04-29 11:36:53 +00:00
|
|
|
PUBLIC
|
|
|
|
TGCALLS_USE_STD_OPTIONAL
|
2020-07-13 14:04:02 +00:00
|
|
|
PRIVATE
|
|
|
|
WEBRTC_APP_TDESKTOP
|
|
|
|
RTC_ENABLE_VP9
|
|
|
|
)
|
|
|
|
|
2020-07-09 17:38:26 +00:00
|
|
|
if (WIN32)
|
2020-07-13 14:04:02 +00:00
|
|
|
elseif (APPLE)
|
2020-07-16 12:05:04 +00:00
|
|
|
target_compile_options(lib_tgcalls
|
|
|
|
PRIVATE
|
|
|
|
-fobjc-arc
|
|
|
|
)
|
2021-02-03 12:23:23 +00:00
|
|
|
remove_target_sources(lib_tgcalls ${tgcalls_loc}
|
|
|
|
platform/darwin/GLVideoView.h
|
|
|
|
platform/darwin/GLVideoView.mm
|
2021-04-16 14:15:56 +00:00
|
|
|
platform/darwin/GLVideoViewMac.h
|
|
|
|
platform/darwin/GLVideoViewMac.mm
|
2021-02-03 12:23:23 +00:00
|
|
|
platform/darwin/VideoCameraCapturer.h
|
|
|
|
platform/darwin/VideoCameraCapturer.mm
|
|
|
|
platform/darwin/VideoMetalView.h
|
|
|
|
platform/darwin/VideoMetalView.mm
|
|
|
|
platform/darwin/VideoMetalViewMac.h
|
|
|
|
platform/darwin/VideoMetalViewMac.mm
|
|
|
|
platform/tdesktop/DesktopInterface.cpp
|
|
|
|
platform/tdesktop/DesktopInterface.h
|
|
|
|
platform/tdesktop/VideoCapturerInterfaceImpl.cpp
|
|
|
|
platform/tdesktop/VideoCapturerInterfaceImpl.h
|
2021-04-19 15:41:14 +00:00
|
|
|
platform/tdesktop/VideoCapturerTrackSource.cpp
|
|
|
|
platform/tdesktop/VideoCapturerTrackSource.h
|
|
|
|
platform/tdesktop/VideoCameraCapturer.cpp
|
|
|
|
platform/tdesktop/VideoCameraCapturer.h
|
2021-02-03 12:23:23 +00:00
|
|
|
)
|
2020-07-09 17:38:26 +00:00
|
|
|
endif()
|
|
|
|
|
2021-07-11 20:16:28 +00:00
|
|
|
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
|
|
|
target_compile_options(lib_tgcalls
|
|
|
|
PRIVATE
|
|
|
|
-Wno-deprecated-volatile
|
|
|
|
-Wno-ambiguous-reversed-operator
|
|
|
|
)
|
|
|
|
endif()
|
|
|
|
|
2020-08-12 16:58:24 +00:00
|
|
|
remove_target_sources(lib_tgcalls ${tgcalls_loc}
|
|
|
|
platform/android/AndroidContext.cpp
|
|
|
|
platform/android/AndroidContext.h
|
|
|
|
platform/android/AndroidInterface.cpp
|
|
|
|
platform/android/AndroidInterface.h
|
|
|
|
platform/android/VideoCameraCapturer.cpp
|
|
|
|
platform/android/VideoCameraCapturer.h
|
|
|
|
platform/android/VideoCapturerInterfaceImpl.cpp
|
|
|
|
platform/android/VideoCapturerInterfaceImpl.h
|
2020-08-18 07:23:45 +00:00
|
|
|
reference/InstanceImplReference.cpp
|
|
|
|
reference/InstanceImplReference.h
|
2020-08-12 16:58:24 +00:00
|
|
|
)
|
|
|
|
|
2020-07-09 17:38:26 +00:00
|
|
|
target_include_directories(lib_tgcalls
|
|
|
|
PUBLIC
|
|
|
|
${tgcalls_dir}
|
|
|
|
PRIVATE
|
|
|
|
${tgcalls_loc}
|
|
|
|
)
|
|
|
|
|
|
|
|
add_library(lib_tgcalls_legacy STATIC)
|
2021-11-12 08:20:28 +00:00
|
|
|
init_target(lib_tgcalls_legacy)
|
2020-08-11 09:59:48 +00:00
|
|
|
|
2020-07-09 17:38:26 +00:00
|
|
|
add_library(tdesktop::lib_tgcalls_legacy ALIAS lib_tgcalls_legacy)
|
|
|
|
|
|
|
|
nice_target_sources(lib_tgcalls_legacy ${tgcalls_loc}
|
|
|
|
PRIVATE
|
|
|
|
legacy/InstanceImplLegacy.cpp
|
|
|
|
legacy/InstanceImplLegacy.h
|
|
|
|
)
|
|
|
|
|
|
|
|
target_include_directories(lib_tgcalls_legacy
|
|
|
|
PRIVATE
|
|
|
|
${tgcalls_loc}
|
|
|
|
)
|
|
|
|
|
|
|
|
target_link_libraries(lib_tgcalls_legacy
|
|
|
|
PRIVATE
|
|
|
|
tdesktop::lib_tgcalls
|
|
|
|
tdesktop::lib_tgvoip
|
|
|
|
desktop-app::external_openssl
|
|
|
|
)
|