aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2018-02-07 19:00:11 -0800
committerRobert Schumacher <roschuma@microsoft.com>2018-02-08 13:25:45 -0800
commit73e45b0ce2b4132a24708a0359c76927ed418e15 (patch)
tree7ad1c64d52e39787e7d9245dda1f6924a30c5536
parentd503a55412b3fa1b2b96ae0719286ee593f3d732 (diff)
downloadvcpkg-73e45b0ce2b4132a24708a0359c76927ed418e15.tar.gz
vcpkg-73e45b0ce2b4132a24708a0359c76927ed418e15.zip
[qt5-base][qtdeploy] Deploy plugin dependencies to the executable's folder.
-rw-r--r--ports/qt5-base/CONTROL2
-rw-r--r--ports/qt5-base/qtdeploy.ps11
-rw-r--r--scripts/buildsystems/msbuild/applocal.ps117
3 files changed, 17 insertions, 3 deletions
diff --git a/ports/qt5-base/CONTROL b/ports/qt5-base/CONTROL
index 1a1aec15d..1e10239b3 100644
--- a/ports/qt5-base/CONTROL
+++ b/ports/qt5-base/CONTROL
@@ -1,4 +1,4 @@
Source: qt5-base
-Version: 5.9.2-4
+Version: 5.9.2-5
Description: Qt5 Application Framework Base Module. Includes Core, GUI, Widgets, Networking, SQL, Concurrent and other essential qt components.
Build-Depends: zlib, libjpeg-turbo, libpng, freetype, pcre2, harfbuzz, sqlite3, libpq, double-conversion, openssl
diff --git a/ports/qt5-base/qtdeploy.ps1 b/ports/qt5-base/qtdeploy.ps1
index b25a46e7a..26bd10257 100644
--- a/ports/qt5-base/qtdeploy.ps1
+++ b/ports/qt5-base/qtdeploy.ps1
@@ -19,6 +19,7 @@ function deployPluginsIfQt([string]$targetBinaryDir, [string]$QtPluginsDir, [str
New-Item "$targetBinaryDir\$pluginSubdirName" -ItemType Directory -ErrorAction SilentlyContinue | Out-Null
Get-ChildItem "$QtPluginsDir\$pluginSubdirName\*.dll" | % {
deployBinary "$targetBinaryDir\$pluginSubdirName" "$QtPluginsDir\$pluginSubdirName" $_.Name
+ resolve $_
}
} else {
Write-Verbose " Skipping plugins directory '$pluginSubdirName': doesn't exist"
diff --git a/scripts/buildsystems/msbuild/applocal.ps1 b/scripts/buildsystems/msbuild/applocal.ps1
index 0b56356a0..3f0f2ef37 100644
--- a/scripts/buildsystems/msbuild/applocal.ps1
+++ b/scripts/buildsystems/msbuild/applocal.ps1
@@ -24,6 +24,19 @@ function deployBinary([string]$targetBinaryDir, [string]$SourceDir, [string]$tar
if ($tlogFile) { Add-Content $tlogFile "$targetBinaryDir\$targetBinaryName" }
}
+
+Write-Verbose "Resolving base path $targetBinary..."
+try
+{
+ $baseBinaryPath = Resolve-Path $targetBinary -erroraction stop
+ $baseTargetBinaryDir = Split-Path $baseBinaryPath -parent
+}
+catch [System.Management.Automation.ItemNotFoundException]
+{
+ return
+}
+
+# Note: this function signature is depended upon by the qtdeploy.ps1 script
function resolve([string]$targetBinary) {
Write-Verbose "Resolving $targetBinary..."
try
@@ -47,10 +60,10 @@ function resolve([string]$targetBinary) {
}
$g_searched.Set_Item($_, $true)
if (Test-Path "$installedDir\$_") {
- deployBinary $targetBinaryDir $installedDir "$_"
+ deployBinary $baseTargetBinaryDir $installedDir "$_"
if (Test-Path function:\deployPluginsIfQt) { deployPluginsIfQt $targetBinaryDir "$g_install_root\plugins" "$_" }
if (Test-Path function:\deployOpenNI2) { deployOpenNI2 $targetBinaryDir "$g_install_root" "$_" }
- resolve "$targetBinaryDir\$_"
+ resolve "$baseTargetBinaryDir\$_"
} elseif (Test-Path "$targetBinaryDir\$_") {
Write-Verbose " ${_}: $_ not found in vcpkg; locally deployed"
resolve "$targetBinaryDir\$_"