diff --git a/Telegram/cmake/lib_tgcalls.cmake b/Telegram/cmake/lib_tgcalls.cmake index 7ec007fd5..b4841e601 100644 --- a/Telegram/cmake/lib_tgcalls.cmake +++ b/Telegram/cmake/lib_tgcalls.cmake @@ -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) diff --git a/Telegram/cmake/lib_tgvoip.cmake b/Telegram/cmake/lib_tgvoip.cmake index bde1c987f..4fe3e264b 100644 --- a/Telegram/cmake/lib_tgvoip.cmake +++ b/Telegram/cmake/lib_tgvoip.cmake @@ -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) diff --git a/cmake b/cmake index 8c999a002..4c8956027 160000 --- a/cmake +++ b/cmake @@ -1 +1 @@ -Subproject commit 8c999a0023f300b75e60e0f1595b7b2a9e370889 +Subproject commit 4c8956027de8e8e8b984c5daa643aacb14a89123 diff --git a/docs/building-cmake.md b/docs/building-cmake.md index 5c126ef77..6d5b08d8d 100644 --- a/docs/building-cmake.md +++ b/docs/building-cmake.md @@ -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 diff --git a/docs/building-msvc.md b/docs/building-msvc.md index f4c68a321..9df32aff2 100644 --- a/docs/building-msvc.md +++ b/docs/building-msvc.md @@ -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 diff --git a/docs/building-xcode.md b/docs/building-xcode.md index 73a2fa03a..c63093e5a 100644 --- a/docs/building-xcode.md +++ b/docs/building-xcode.md @@ -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 \