diff options
Diffstat (limited to 'protocols/Telegram/tdlib/td/example/uwp/build.ps1')
-rw-r--r-- | protocols/Telegram/tdlib/td/example/uwp/build.ps1 | 45 |
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 |