aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2018-10-22 17:20:34 -0700
committerRobert Schumacher <roschuma@microsoft.com>2018-10-23 15:12:57 -0700
commita1fe9544fd042a40fcfd28f04032a8f539486bdf (patch)
tree83353a9f3a1ca214819d5fa5ebfce3aea2b7fd94
parent8d62a87448c2ee122ce15c0074f5738d95d1bf94 (diff)
downloadvcpkg-a1fe9544fd042a40fcfd28f04032a8f539486bdf.tar.gz
vcpkg-a1fe9544fd042a40fcfd28f04032a8f539486bdf.zip
[qt5-base] Update qtdeploy.ps1 to generate qt.conf, qml, and qtquick. Fixes #2857.
-rw-r--r--ports/qt5-base/CONTROL2
-rw-r--r--ports/qt5-base/qt_debug.conf2
-rw-r--r--ports/qt5-base/qtdeploy.ps145
-rw-r--r--scripts/buildsystems/msbuild/applocal.ps12
4 files changed, 36 insertions, 15 deletions
diff --git a/ports/qt5-base/CONTROL b/ports/qt5-base/CONTROL
index d8d5718f6..4eb7e3842 100644
--- a/ports/qt5-base/CONTROL
+++ b/ports/qt5-base/CONTROL
@@ -1,4 +1,4 @@
Source: qt5-base
-Version: 5.11.1-2
+Version: 5.11.1-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/qt_debug.conf b/ports/qt5-base/qt_debug.conf
index 45cac7a4b..d0b178661 100644
--- a/ports/qt5-base/qt_debug.conf
+++ b/ports/qt5-base/qt_debug.conf
@@ -6,7 +6,7 @@ Libraries = debug/lib
Binaries = debug/tools/qt5
LibraryExecutables = debug/tools/qt5
Plugins = debug/plugins
-Qml2Imports = qml
+Qml2Imports = debug/qml
Data = share/qt5/debug
ArchData = share/qt5/debug
HostData = share/qt5/debug
diff --git a/ports/qt5-base/qtdeploy.ps1 b/ports/qt5-base/qtdeploy.ps1
index 26bd10257..2161f69c8 100644
--- a/ports/qt5-base/qtdeploy.ps1
+++ b/ports/qt5-base/qtdeploy.ps1
@@ -9,17 +9,16 @@
# Note: this function signature and behavior is depended upon by applocal.ps1
function deployPluginsIfQt([string]$targetBinaryDir, [string]$QtPluginsDir, [string]$targetBinaryName) {
-
$baseDir = Split-Path $QtPluginsDir -parent
$binDir = "$baseDir\bin"
function deployPlugins([string]$pluginSubdirName) {
if (Test-Path "$QtPluginsDir\$pluginSubdirName") {
Write-Verbose " Deploying plugins directory '$pluginSubdirName'"
- New-Item "$targetBinaryDir\$pluginSubdirName" -ItemType Directory -ErrorAction SilentlyContinue | Out-Null
+ New-Item "$targetBinaryDir\plugins\$pluginSubdirName" -ItemType Directory -ErrorAction SilentlyContinue | Out-Null
Get-ChildItem "$QtPluginsDir\$pluginSubdirName\*.dll" | % {
- deployBinary "$targetBinaryDir\$pluginSubdirName" "$QtPluginsDir\$pluginSubdirName" $_.Name
- resolve $_
+ deployBinary "$targetBinaryDir\plugins\$pluginSubdirName" "$QtPluginsDir\$pluginSubdirName" $_.Name
+ resolve "$targetBinaryDir\plugins\$pluginSubdirName\$($_.Name)"
}
} else {
Write-Verbose " Skipping plugins directory '$pluginSubdirName': doesn't exist"
@@ -27,33 +26,55 @@ function deployPluginsIfQt([string]$targetBinaryDir, [string]$QtPluginsDir, [str
}
# We detect Qt modules in use via the DLLs themselves. See qtModuleEntries in Qt to find the mapping.
- if ($targetBinaryName -like "Qt5Gui*.dll") {
+ if ($targetBinaryName -match "Qt5Cored?.dll") {
+ if (!(Test-Path "$targetBinaryDir\qt.conf")) {
+ "[Paths]" | Out-File -encoding ascii "$targetBinaryDir\qt.conf"
+ }
+ } elseif ($targetBinaryName -match "Qt5Guid?.dll") {
Write-Verbose " Deploying platforms"
- New-Item "$targetBinaryDir\platforms" -ItemType Directory -ErrorAction SilentlyContinue | Out-Null
+ New-Item "$targetBinaryDir\plugins\platforms" -ItemType Directory -ErrorAction SilentlyContinue | Out-Null
Get-ChildItem "$QtPluginsDir\platforms\qwindows*.dll" | % {
- deployBinary "$targetBinaryDir\platforms" "$QtPluginsDir\platforms" $_.Name
+ deployBinary "$targetBinaryDir\plugins\platforms" "$QtPluginsDir\platforms" $_.Name
}
deployPlugins "accessible"
deployPlugins "imageformats"
deployPlugins "iconengines"
deployPlugins "platforminputcontexts"
- } elseif ($targetBinaryName -like "Qt5Network*.dll") {
+ } elseif ($targetBinaryName -match "Qt5Networkd?.dll") {
deployPlugins "bearer"
if (Test-Path "$binDir\libeay32.dll")
{
deployBinary "$targetBinaryDir" "$binDir" "libeay32.dll"
deployBinary "$targetBinaryDir" "$binDir" "ssleay32.dll"
}
- } elseif ($targetBinaryName -like "Qt5Sql*.dll") {
+ } elseif ($targetBinaryName -match "Qt5Sqld?.dll") {
deployPlugins "sqldrivers"
- } elseif ($targetBinaryName -like "Qt5Multimedia*.dll") {
+ } elseif ($targetBinaryName -match "Qt5Multimediad?.dll") {
deployPlugins "audio"
deployPlugins "mediaservice"
deployPlugins "playlistformats"
- } elseif ($targetBinaryName -like "Qt5PrintSupport*.dll") {
+ } elseif ($targetBinaryName -match "Qt5PrintSupportd?.dll") {
deployPlugins "printsupport"
- } elseif ($targetBinaryName -like "Qt5Quick*.dll") {
+ } elseif ($targetBinaryName -match "Qt5Qmld?.dll") {
+ if(!(Test-Path "$targetBinaryDir\qml"))
+ {
+ if (Test-Path "$binDir\..\qml") {
+ cp -r "$binDir\..\qml" $targetBinaryDir
+ } elseif (Test-Path "$binDir\..\..\qml") {
+ cp -r "$binDir\..\..\qml" $targetBinaryDir
+ } else {
+ throw "FAILED"
+ }
+ }
+ } elseif ($targetBinaryName -match "Qt5Quickd?.dll") {
+ foreach ($a in @("Qt5QuickControls2", "Qt5QuickControls2d", "Qt5QuickTemplates2", "Qt5QuickTemplates2d"))
+ {
+ if (Test-Path "$binDir\$a.dll")
+ {
+ deployBinary "$targetBinaryDir" "$binDir" "$a.dll"
+ }
+ }
deployPlugins "scenegraph"
deployPlugins "qmltooling"
} elseif ($targetBinaryName -like "Qt5Declarative*.dll") {
diff --git a/scripts/buildsystems/msbuild/applocal.ps1 b/scripts/buildsystems/msbuild/applocal.ps1
index e5f3c3dd0..42bad4bcd 100644
--- a/scripts/buildsystems/msbuild/applocal.ps1
+++ b/scripts/buildsystems/msbuild/applocal.ps1
@@ -62,7 +62,7 @@ function resolve([string]$targetBinary) {
$g_searched.Set_Item($_, $true)
if (Test-Path "$installedDir\$_") {
deployBinary $baseTargetBinaryDir $installedDir "$_"
- if (Test-Path function:\deployPluginsIfQt) { deployPluginsIfQt $targetBinaryDir "$g_install_root\plugins" "$_" }
+ if (Test-Path function:\deployPluginsIfQt) { deployPluginsIfQt $baseTargetBinaryDir "$g_install_root\plugins" "$_" }
if (Test-Path function:\deployOpenNI2) { deployOpenNI2 $targetBinaryDir "$g_install_root" "$_" }
if (Test-Path function:\deployPluginsIfMagnum) {
if ($g_is_debug) {