tdesktop/Telegram/cmake/lib_tgcalls.cmake

150 lines
3.9 KiB
CMake
Raw Normal View History

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)
2020-07-10 13:55:46 +00:00
init_target(lib_tgcalls cxx_std_14)
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
CodecSelectHelper.cpp
CodecSelectHelper.h
Instance.cpp
Instance.h
InstanceImpl.cpp
InstanceImpl.h
2020-07-09 17:38:26 +00:00
Manager.cpp
Manager.h
MediaManager.cpp
MediaManager.h
NetworkManager.cpp
NetworkManager.h
2020-07-10 18:41:08 +00:00
SignalingMessage.cpp
SignalingMessage.h
2020-07-09 17:38:26 +00:00
ThreadLocalObject.h
VideoCaptureInterface.cpp
VideoCaptureInterface.h
VideoCaptureInterfaceImpl.cpp
VideoCaptureInterfaceImpl.h
VideoCapturerInterface.h
2020-07-10 18:41:08 +00:00
2020-07-09 17:38:26 +00:00
platform/PlatformInterface.h
2020-07-14 09:11:17 +00:00
# Teleram Desktop
2020-07-13 14:04:02 +00:00
platform/tdesktop/VideoCapturerInterfaceImpl.cpp
platform/tdesktop/VideoCapturerInterfaceImpl.h
2020-07-14 09:11:17 +00:00
platform/tdesktop/VideoCapturerTrackSource.cpp
platform/tdesktop/VideoCapturerTrackSource.h
platform/tdesktop/VideoCameraCapturer.cpp
platform/tdesktop/VideoCameraCapturer.h
2020-07-09 17:38:26 +00:00
# Windows
platform/windows/WindowsInterface.cpp
platform/windows/WindowsInterface.h
# iOS / macOS
platform/darwin/DarwinInterface.h
platform/darwin/DarwinInterface.mm
platform/darwin/TGRTCDefaultVideoDecoderFactory.h
platform/darwin/TGRTCDefaultVideoDecoderFactory.mm
platform/darwin/TGRTCDefaultVideoEncoderFactory.h
platform/darwin/TGRTCDefaultVideoEncoderFactory.mm
platform/darwin/TGRTCVideoDecoderH265.h
platform/darwin/TGRTCVideoDecoderH265.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/VideoMetalView.h
platform/darwin/VideoMetalView.mm
platform/darwin/VideoMetalViewMac.h
platform/darwin/VideoMetalViewMac.mm
2020-07-09 17:38:26 +00:00
# Linux
# POSIX
)
2020-07-13 14:04:02 +00:00
target_compile_definitions(lib_tgcalls
PRIVATE
WEBRTC_APP_TDESKTOP
RTC_ENABLE_VP9
)
2020-07-09 17:38:26 +00:00
if (WIN32)
target_compile_definitions(lib_tgcalls
PRIVATE
2020-07-13 14:04:02 +00:00
WEBRTC_WIN
)
elseif (APPLE)
target_compile_options(lib_tgcalls
PRIVATE
-fobjc-arc
)
2020-07-13 14:04:02 +00:00
target_compile_definitions(lib_tgcalls
PRIVATE
WEBRTC_MAC
)
remove_target_sources(lib_tgcalls ${tgcalls_loc}
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/VideoCapturerTrackSource.cpp
platform/tdesktop/VideoCapturerTrackSource.h
platform/tdesktop/VideoCapturerInterfaceImpl.cpp
platform/tdesktop/VideoCapturerInterfaceImpl.h
)
2020-07-13 14:04:02 +00:00
else()
target_compile_definitions(lib_tgcalls
PRIVATE
WEBRTC_LINUX
2020-07-09 17:38:26 +00:00
)
endif()
target_include_directories(lib_tgcalls
PUBLIC
${tgcalls_dir}
PRIVATE
${tgcalls_loc}
)
target_link_libraries(lib_tgcalls
PRIVATE
desktop-app::external_webrtc
)
add_library(lib_tgcalls_legacy STATIC)
2020-07-10 13:55:46 +00:00
init_target(lib_tgcalls_legacy cxx_std_14)
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
)