summaryrefslogtreecommitdiff
path: root/protocols/Telegram/tdlib/td/example/uwp/build.ps1
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/Telegram/tdlib/td/example/uwp/build.ps1')
-rw-r--r--protocols/Telegram/tdlib/td/example/uwp/build.ps145
1 files changed, 24 insertions, 21 deletions
diff --git a/protocols/Telegram/tdlib/td/example/uwp/build.ps1 b/protocols/Telegram/tdlib/td/example/uwp/build.ps1
index 71156b0a2d..587945a4b2 100644
--- a/protocols/Telegram/tdlib/td/example/uwp/build.ps1
+++ b/protocols/Telegram/tdlib/td/example/uwp/build.ps1
@@ -2,17 +2,23 @@ param (
[string]$vcpkg_root = $(throw "-vcpkg_root=<path to vcpkg> is required"),
[string]$arch = "",
[string]$mode = "all",
- [string]$compress = "7z"
+ [string]$compress = "7z",
+ [switch]$release_only = $false
)
$ErrorActionPreference = "Stop"
$vcpkg_root = Resolve-Path $vcpkg_root
$vcpkg_cmake="${vcpkg_root}\scripts\buildsystems\vcpkg.cmake"
-$arch_list = @( "x86", "x64", "arm" )
+$arch_list = @( "x86", "x64", "ARM" )
if ($arch) {
$arch_list = @(, $arch)
}
+$config_list = @( "Debug", "Release" )
+if ($release_only) {
+ $config_list = @(, "RelWithDebInfo")
+}
+$targets = @{ Debug = "Debug"; Release = "Retail"; RelWithDebInfo = "CommonConfiguration"}
$td_root = Resolve-Path "../.."
@@ -35,7 +41,7 @@ function prepare {
cd build-native
- cmake $td_root -DCMAKE_TOOLCHAIN_FILE="$vcpkg_cmake" -DTD_ENABLE_DOTNET=1
+ cmake -A Win32 -DCMAKE_TOOLCHAIN_FILE="$vcpkg_cmake" -DTD_ENABLE_DOTNET=ON "$td_root"
CheckLastExitCode
cmake --build . --target prepare_cross_compiling
CheckLastExitCode
@@ -47,7 +53,7 @@ function config {
New-Item -ItemType Directory -Force -Path build-uwp
cd build-uwp
- ForEach($arch in $arch_list) {
+ ForEach ($arch in $arch_list) {
echo "Config Arch = [$arch]"
New-Item -ItemType Directory -Force -Path $arch
cd $arch
@@ -56,7 +62,7 @@ function config {
if ($arch -eq "x86") {
$fixed_arch = "win32"
}
- cmake "$td_root" -A $fixed_arch -DCMAKE_SYSTEM_VERSION="10.0" -DCMAKE_SYSTEM_NAME="WindowsStore" -DCMAKE_TOOLCHAIN_FILE="$vcpkg_cmake" -DTD_ENABLE_DOTNET=1
+ cmake -A $fixed_arch -DCMAKE_SYSTEM_VERSION="10.0" -DCMAKE_SYSTEM_NAME="WindowsStore" -DCMAKE_TOOLCHAIN_FILE="$vcpkg_cmake" -DTD_ENABLE_DOTNET=ON "$td_root"
CheckLastExitCode
cd ..
}
@@ -66,11 +72,12 @@ function config {
function build {
cd build-uwp
- ForEach($arch in $arch_list) {
+ ForEach ($arch in $arch_list) {
echo "Build Arch = [$arch]"
cd $arch
- cmake --build . --config Release --target tddotnet
- cmake --build . --config Debug --target tddotnet
+ ForEach ($config in $config_list) {
+ cmake --build . --config $config --target tddotnet
+ }
cd ..
}
cd ..
@@ -85,23 +92,19 @@ function export {
cp '../`[Content_Types`].xml' vsix
cp ../LICENSE_1_0.txt vsix
- ForEach($arch in $arch_list) {
- New-Item -ItemType Directory -Force -Path vsix/DesignTime/Debug/${arch}
- New-Item -ItemType Directory -Force -Path vsix/DesignTime/Retail/${arch}
- New-Item -ItemType Directory -Force -Path vsix/Redist/Debug/${arch}
- New-Item -ItemType Directory -Force -Path vsix/Redist/Retail/${arch}
+ ForEach ($arch in $arch_list) {
New-Item -ItemType Directory -Force -Path vsix/References/CommonConfiguration/${arch}
+ ForEach ($config in $config_list) {
+ $target = $targets[$config]
- cp ${arch}/Debug/* -include "LIBEAY*","SSLEAY*","zlib*" vsix/Redist/Debug/${arch}/
- cp ${arch}/Release/* -include "LIBEAY*","SSLEAY*","zlib*" vsix/Redist/Retail/${arch}/
+ New-Item -ItemType Directory -Force -Path vsix/DesignTime/${target}/${arch}
+ cp ${arch}/${config}/Telegram.Td.lib vsix/DesignTime/${target}/${arch}/
- cp ${arch}/Debug/* -filter "Telegram.Td.*" -include "*.lib" vsix/DesignTime/Debug/${arch}/
- cp ${arch}/Release/* -filter "Telegram.Td.*" -include "*.lib" vsix/DesignTime/Retail/${arch}/
+ New-Item -ItemType Directory -Force -Path vsix/Redist/${target}/${arch}
+ cp ${arch}/${config}/* -include "SSLEAY*","LIBEAY*","libcrypto*","libssl*","zlib*","Telegram.Td.pdb","Telegram.Td.dll" vsix/Redist/${target}/${arch}/
- cp ${arch}/Debug/* -filter "Telegram.Td.*" -include "*.pdb","*.dll" vsix/Redist/Debug/${arch}/
- cp ${arch}/Release/* -filter "Telegram.Td.*" -include "*.pdb","*.dll" vsix/Redist/Retail/${arch}/
-
- cp ${arch}/Release/* -filter "Telegram.Td.*" -include "*.pri","*.winmd","*.xml" vsix/References/CommonConfiguration/${arch}/
+ cp ${arch}/${config}/* -include "Telegram.Td.pri","Telegram.Td.winmd","Telegram.Td.xml" vsix/References/CommonConfiguration/${arch}/
+ }
}
cd vsix