| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306 |
- # 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)
- init_target(lib_tgcalls) # Can't use std::optional::value on macOS.
- 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
- Instance.cpp
- Instance.h
- )
- nice_target_sources(lib_tgcalls ${tgcalls_loc}
- PRIVATE
- AudioDeviceHelper.cpp
- AudioDeviceHelper.h
- ChannelManager.cpp
- ChannelManager.h
- CodecSelectHelper.cpp
- CodecSelectHelper.h
- CryptoHelper.cpp
- CryptoHelper.h
- DirectConnectionChannel.h
- EncryptedConnection.cpp
- EncryptedConnection.h
- FakeAudioDeviceModule.cpp
- FakeAudioDeviceModule.h
- FieldTrialsConfig.cpp
- FieldTrialsConfig.h
- InstanceImpl.cpp
- InstanceImpl.h
- LogSinkImpl.cpp
- LogSinkImpl.h
- Manager.cpp
- Manager.h
- MediaManager.cpp
- MediaManager.h
- Message.cpp
- Message.h
- NetworkManager.cpp
- NetworkManager.h
- SctpDataChannelProviderInterfaceImpl.cpp
- SctpDataChannelProviderInterfaceImpl.h
- StaticThreads.cpp
- StaticThreads.h
- ThreadLocalObject.h
- TurnCustomizerImpl.cpp
- TurnCustomizerImpl.h
- VideoCaptureInterface.cpp
- VideoCaptureInterface.h
- VideoCaptureInterfaceImpl.cpp
- VideoCaptureInterfaceImpl.h
- VideoCapturerInterface.h
- utils/gzip.cpp
- utils/gzip.h
- v2/ContentNegotiation.cpp
- v2/ContentNegotiation.h
- v2/DirectNetworkingImpl.cpp
- v2/DirectNetworkingImpl.h
- v2/ExternalSignalingConnection.cpp
- v2/ExternalSignalingConnection.h
- v2/InstanceNetworking.h
- v2/InstanceV2ReferenceImpl.cpp
- v2/InstanceV2ReferenceImpl.h
- v2/InstanceV2Impl.cpp
- v2/InstanceV2Impl.h
- v2/NativeNetworkingImpl.cpp
- v2/NativeNetworkingImpl.h
- v2/ReflectorPort.cpp
- v2/ReflectorPort.h
- v2/ReflectorRelayPortFactory.cpp
- v2/ReflectorRelayPortFactory.h
- v2/Signaling.cpp
- v2/Signaling.h
- v2/SignalingConnection.cpp
- v2/SignalingConnection.h
- v2/SignalingEncryption.cpp
- v2/SignalingEncryption.h
- v2/SignalingSctpConnection.cpp
- v2/SignalingSctpConnection.h
- # Desktop capturer
- desktop_capturer/DesktopCaptureSource.h
- desktop_capturer/DesktopCaptureSource.cpp
- desktop_capturer/DesktopCaptureSourceHelper.h
- desktop_capturer/DesktopCaptureSourceHelper.cpp
- desktop_capturer/DesktopCaptureSourceManager.h
- desktop_capturer/DesktopCaptureSourceManager.cpp
- # Group calls
- group/AVIOContextImpl.cpp
- group/AVIOContextImpl.h
- group/AudioStreamingPart.cpp
- group/AudioStreamingPart.h
- group/AudioStreamingPartInternal.cpp
- group/AudioStreamingPartInternal.h
- group/AudioStreamingPartPersistentDecoder.cpp
- group/AudioStreamingPartPersistentDecoder.h
- group/GroupInstanceCustomImpl.cpp
- group/GroupInstanceCustomImpl.h
- group/GroupInstanceImpl.h
- group/GroupJoinPayloadInternal.cpp
- group/GroupJoinPayloadInternal.h
- group/GroupJoinPayload.h
- group/GroupNetworkManager.cpp
- group/GroupNetworkManager.h
- group/StreamingMediaContext.cpp
- group/StreamingMediaContext.h
- group/VideoStreamingPart.cpp
- group/VideoStreamingPart.h
- 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
- platform/darwin/CustomSimulcastEncoderAdapter.cpp
- platform/darwin/CustomSimulcastEncoderAdapter.h
- platform/darwin/DarwinFFMpeg.h
- platform/darwin/DarwinFFMpeg.mm
- platform/darwin/DarwinInterface.h
- platform/darwin/DarwinInterface.mm
- platform/darwin/DarwinVideoSource.h
- platform/darwin/DarwinVideoSource.mm
- platform/darwin/DesktopSharingCapturer.h
- platform/darwin/DesktopSharingCapturer.mm
- platform/darwin/ExtractCVPixelBuffer.h
- platform/darwin/ExtractCVPixelBuffer.mm
- platform/darwin/GLVideoView.h
- platform/darwin/GLVideoView.mm
- platform/darwin/GLVideoViewMac.h
- platform/darwin/GLVideoViewMac.mm
- platform/darwin/h265_nalu_rewriter.cc
- platform/darwin/h265_nalu_rewriter.h
- platform/darwin/objc_video_encoder_factory.h
- platform/darwin/objc_video_encoder_factory.mm
- platform/darwin/objc_video_decoder_factory.h
- platform/darwin/objc_video_decoder_factory.mm
- platform/darwin/RTCCodecSpecificInfoH265+Private.h
- platform/darwin/RTCCodecSpecificInfoH265.h
- platform/darwin/RTCCodecSpecificInfoH265.mm
- platform/darwin/RTCH265ProfileLevelId.h
- platform/darwin/RTCH265ProfileLevelId.mm
- platform/darwin/TGCMIOCapturer.h
- platform/darwin/TGCMIOCapturer.m
- platform/darwin/TGCMIODevice.h
- platform/darwin/TGCMIODevice.mm
- 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
- platform/darwin/VideoCMIOCapture.h
- platform/darwin/VideoCMIOCapture.mm
- platform/darwin/VideoMetalView.h
- platform/darwin/VideoMetalView.mm
- platform/darwin/VideoMetalViewMac.h
- platform/darwin/VideoMetalViewMac.mm
- # 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
- # third-party
- third-party/json11.cpp
- third-party/json11.hpp
- )
- target_link_libraries(lib_tgcalls
- PRIVATE
- desktop-app::external_webrtc
- desktop-app::external_ffmpeg
- desktop-app::external_openssl
- desktop-app::external_rnnoise
- desktop-app::external_zlib
- )
- target_compile_definitions(lib_tgcalls
- PUBLIC
- TGCALLS_USE_STD_OPTIONAL
- PRIVATE
- WEBRTC_APP_TDESKTOP
- RTC_ENABLE_H265
- RTC_ENABLE_VP9
- )
- if (WIN32)
- elseif (APPLE)
- target_compile_options(lib_tgcalls
- PRIVATE
- -fobjc-arc
- )
- remove_target_sources(lib_tgcalls ${tgcalls_loc}
- platform/darwin/GLVideoView.h
- platform/darwin/GLVideoView.mm
- platform/darwin/GLVideoViewMac.h
- platform/darwin/GLVideoViewMac.mm
- 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
- platform/tdesktop/VideoCapturerTrackSource.cpp
- platform/tdesktop/VideoCapturerTrackSource.h
- platform/tdesktop/VideoCameraCapturer.cpp
- platform/tdesktop/VideoCameraCapturer.h
- )
- endif()
- target_compile_options_if_exists(lib_tgcalls
- PRIVATE
- -Wno-deprecated-volatile
- -Wno-ambiguous-reversed-operator
- -Wno-deprecated-declarations
- -Wno-unqualified-std-cast-call
- -Wno-unused-function
- )
- 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
- reference/InstanceImplReference.cpp
- reference/InstanceImplReference.h
- )
- target_include_directories(lib_tgcalls
- PUBLIC
- ${tgcalls_dir}
- PRIVATE
- ${tgcalls_loc}
- )
- add_library(lib_tgcalls_legacy STATIC)
- init_target(lib_tgcalls_legacy)
- 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
- )
|