- Memory manager - TD_SKIP_TEST/TD_SKIP_BENCHMARK/TD_SKIP_TG_CLI - Rebranding - github workflow - .gitignore - Add crypt32 to windows - Fatal crash log handler - optionally unencrypted database - malloc_trim support - getMemoryStatistics Options: - disable_document_filenames - disable_minithumbnails - disable_notifications - disable_group_calls - disable_auto_download - ignore_server_deletes_and_reads - ignore_update_chat_last_message - ignore_update_chat_read_inbox - ignore_update_user_chat_action - receive_access_hashes - message_unload_delay modification |
||
---|---|---|
.. | ||
app | ||
[Content_Types].xml | ||
build.ps1 | ||
extension.vsixmanifest | ||
LICENSE_1_0.txt | ||
README.md | ||
SDKManifest.xml | ||
Telegram.Td.UWP.nuspec | ||
Telegram.Td.UWP.targets |
TDLib Universal Windows Platform example
This is an example of building TDLib SDK for Universal Windows Platform and an example of its usage from C#.
Building SDK
- Download and install Microsoft Visual Studio 2015+ with Windows 10 SDK. We recommend to use the latest available versions of Microsoft Visual Studio and Windows 10 SDK.
- Download and install CMake.
- Install
zlib
andopenssl
for all UWP architectures andgperf
for x86 using vcpkg:
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
git checkout cd5e746ec203c8c3c61647e0886a8df8c1e78e41
.\bootstrap-vcpkg.bat
.\vcpkg.exe install gperf:x86-windows openssl:arm-uwp openssl:arm64-uwp openssl:x64-uwp openssl:x86-uwp zlib:arm-uwp zlib:arm64-uwp zlib:x64-uwp zlib:x86-uwp
- (Optional. For XML documentation generation.) Download PHP. Add the path to php.exe to the PATH environment variable.
- Download and install 7-Zip archiver, which is used by the
build.ps1
script to create a Telegram.Td.UWP Visual Studio Extension. Add the path to 7z.exe to the PATH environment variable. Alternativelybuild.ps1
supports compressing using WinRAR with option-compress winrar
and compressing using zip with-compress zip
. - Build
TDLib
using providedbuild.ps1
script (TDLib should be built 6 times for multiple platforms in Debug and Release configurations, so it make take few hours). Pass path to vcpkg.exe as-vcpkg-root
argument, for example:
powershell -ExecutionPolicy ByPass .\build.ps1 -vcpkg_root C:\vcpkg
If you need to restart the build from scratch, call .\build.ps1 -vcpkg_root C:\vcpkg -mode clean
first.
- Install Visual Studio Extension "TDLib for Universal Windows Platform" located at
build-uwp\vsix\tdlib.vsix
, which was created on the previous step bybuild.ps1
script.
After this TDLib
can be used from any UWP project, built in Visual Studio.
Alternatively, you can build TDLib
as a NuGet package, adding the option -nupkg
to the .\build.ps1
script invocation. The resulting package will be placed in the directory build-uwp\nupkg
.
Example of usage
The app/
directory contains a simple example of a C# application for Universal Windows Platform. Just open it with Visual Studio 2015 or later and run.