Use webrtc from a custom-built fork.

This commit is contained in:
John Preston 2020-08-20 16:45:54 +04:00
parent ebf8a20d0d
commit 693d3a922f
6 changed files with 60 additions and 25 deletions

View file

@ -6,10 +6,12 @@
add_library(lib_tgcalls STATIC)
if (LINUX)
init_target(lib_tgcalls) # All C++20 on Linux, because otherwise ODR violation.
if (WIN32)
init_target(lib_tgcalls cxx_std_17) # Small amount of patches required here.
elseif (LINUX)
init_target(lib_tgcalls) # All C++20 on Linux, because otherwise ODR violation.
else()
init_target(lib_tgcalls cxx_std_14)
init_target(lib_tgcalls cxx_std_14) # Can't use std::optional::value on macOS.
endif()
add_library(tdesktop::lib_tgcalls ALIAS lib_tgcalls)
@ -183,10 +185,12 @@ PRIVATE
add_library(lib_tgcalls_legacy STATIC)
if (LINUX)
if (WIN32)
init_target(lib_tgcalls_legacy cxx_std_17) # Small amount of patches required here.
elseif (LINUX)
init_target(lib_tgcalls_legacy) # All C++20 on Linux, because otherwise ODR violation.
else()
init_target(lib_tgcalls_legacy cxx_std_14)
init_target(lib_tgcalls_legacy cxx_std_14) # Can't use std::optional::value on macOS.
endif()
add_library(tdesktop::lib_tgcalls_legacy ALIAS lib_tgcalls_legacy)

View file

@ -19,10 +19,12 @@ endif()
if (NOT TGVOIP_FOUND)
add_library(lib_tgvoip_bundled STATIC)
if (LINUX)
if (WIN32)
init_target(lib_tgvoip_bundled cxx_std_17) # Small amount of patches required here.
elseif (LINUX)
init_target(lib_tgvoip_bundled) # All C++20 on Linux, because otherwise ODR violation.
else()
init_target(lib_tgvoip_bundled cxx_std_14)
init_target(lib_tgvoip_bundled cxx_std_14) # Can't use std::optional::value on macOS.
endif()
set(tgvoip_loc ${third_party_loc}/libtgvoip)

2
cmake

@ -1 +1 @@
Subproject commit 8c999a0023f300b75e60e0f1595b7b2a9e370889
Subproject commit 4c8956027de8e8e8b984c5daa643aacb14a89123

View file

@ -273,6 +273,22 @@ Go to ***BuildPath*** and run
sudo make install
cd ..
LibrariesPath=`pwd`
git clone https://github.com/desktop-app/tg_owt.git
cd tg_owt
mkdir out
cd out
mkdir Debug
cd Debug
cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -DTG_OWT_SPECIAL_TARGET=linux -DTG_OWT_LIBJPEG_INCLUDE_PATH=$LibrariesPath/qt_5_12_8/qtbase/src/3rdparty/libjpeg -DTG_OWT_OPENSSL_INCLUDE_PATH=/usr/local/desktop-app/openssl-1.1.1/include -DTG_OWT_OPUS_INCLUDE_PATH=/usr/local/include/opus -DTG_OWT_FFMPEG_INCLUDE_PATH=/usr/local/include ../..
ninja
cd ..
mkdir Release
cd Release
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DTG_OWT_SPECIAL_TARGET=mac -DTG_OWT_LIBJPEG_INCLUDE_PATH=$LibrariesPath/qt_5_12_8/qtbase/src/3rdparty/libjpeg -DTG_OWT_OPENSSL_INCLUDE_PATH=$LibrariesPath/openssl_1_1_1/include -DTG_OWT_OPUS_INCLUDE_PATH=/usr/local/macos/include/opus -DTG_OWT_FFMPEG_INCLUDE_PATH=/usr/local/macos/include ../..
ninja
cd ..\..
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH=`pwd`/depot_tools:$PATH

View file

@ -165,23 +165,20 @@ Open **x86 Native Tools Command Prompt for VS 2019.bat**, go to ***BuildPath***
jom -j4 install
cd ..
mkdir webrtc
cd webrtc
copy ..\patches\webrtc\.gclient .gclient
git clone https://github.com/open-webrtc-toolkit/owt-deps-webrtc src
gclient sync --no-history
cd src
git apply ../../patches/webrtc/src.diff
cd build
git apply ../../../patches/webrtc/build.diff
cd ..\third_party
git apply ../../../patches/webrtc/third_party.diff
cd libsrtp
git apply ../../../../patches/webrtc/libsrtp.diff
cd ..\..
..\..\patches\webrtc\configure.bat
ninja -C out/Debug webrtc
ninja -C out/Release webrtc
set LibrariesPath=%cd%
git clone https://github.com/desktop-app/tg_owt.git
cd tg_owt
mkdir out
cd out
mkdir Debug
cd Debug
cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -DTG_OWT_SPECIAL_TARGET=win -DTG_OWT_LIBJPEG_INCLUDE_PATH=%LibrariesPath%/qt_5_12_8/qtbase/src/3rdparty/libjpeg -DTG_OWT_OPENSSL_INCLUDE_PATH=%LibrariesPath%/openssl_1_1_1/include -DTG_OWT_OPUS_INCLUDE_PATH=%LibrariesPath%/opus/include -DTG_OWT_FFMPEG_INCLUDE_PATH=%LibrariesPath%/ffmpeg ../..
ninja
cd ..
mkdir Release
cd Release
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DTG_OWT_SPECIAL_TARGET=win -DTG_OWT_LIBJPEG_INCLUDE_PATH=%LibrariesPath%/qt_5_12_8/qtbase/src/3rdparty/libjpeg -DTG_OWT_OPENSSL_INCLUDE_PATH=%LibrariesPath%/openssl_1_1_1/include -DTG_OWT_OPUS_INCLUDE_PATH=%LibrariesPath%/opus/include -DTG_OWT_FFMPEG_INCLUDE_PATH=%LibrariesPath%/ffmpeg ../..
ninja
cd ..\..
## Build the project

View file

@ -252,6 +252,22 @@ Go to ***BuildPath*** and run
find ../../patches/qtbase_5_12_8 -type f -print0 | sort -z | xargs -0 git apply
cd ..
LibrariesPath=`pwd`
git clone https://github.com/desktop-app/tg_owt.git
cd tg_owt
mkdir out
cd out
mkdir Debug
cd Debug
cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -DTG_OWT_SPECIAL_TARGET=mac -DTG_OWT_LIBJPEG_INCLUDE_PATH=$LibrariesPath/qt_5_12_8/qtbase/src/3rdparty/libjpeg -DTG_OWT_OPENSSL_INCLUDE_PATH=$LibrariesPath/openssl_1_1_1/include -DTG_OWT_OPUS_INCLUDE_PATH=/usr/local/macos/include/opus -DTG_OWT_FFMPEG_INCLUDE_PATH=/usr/local/macos/include ../..
ninja
cd ..
mkdir Release
cd Release
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DTG_OWT_SPECIAL_TARGET=mac -DTG_OWT_LIBJPEG_INCLUDE_PATH=$LibrariesPath/qt_5_12_8/qtbase/src/3rdparty/libjpeg -DTG_OWT_OPENSSL_INCLUDE_PATH=$LibrariesPath/openssl_1_1_1/include -DTG_OWT_OPUS_INCLUDE_PATH=/usr/local/macos/include/opus -DTG_OWT_FFMPEG_INCLUDE_PATH=/usr/local/macos/include ../..
ninja
cd ..\..
./configure -prefix "/usr/local/desktop-app/Qt-5.12.8" \
-debug-and-release \
-force-debug-info \