mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-19 23:32:57 +08:00
bdae0904c4
* [ports] Update openssl-unix to 1.1.1c * [ports] Update openssl-unix to 1.1.1d * [ports] openssl-unix platform 'AMD64' is called 'x86_64' on Linux * [ports] fix openssl platform * [ports] openssl-windows update openssl to 1.1.1d * [ports] Fix openssl post build * [ports] openssl add EnableUWPSupport.patch Reference: https://github.com/openssl/openssl/pull/8917 https://github.com/openssl/openssl/pull/9440 * [ports] openssl-uwp update openssl to 1.1.1d * Updated support for OpenSSL v1.1 With OpenSSL v1.1 we need an additional flag for ACE * update to 12.0 and change to vcpkg_configure_make * remove msys line * remove custom cmakelists * use --without-readline on linux * Update CONTROL Fix version * fix portfile * add all possible libpq features * create vcpkg_get_build_depends * create vcpkg_read_dependent_port_info * add vcpkg_write_port_info * fix a few bugs * libpq first succesful x86 build with core features. (files still must be moved) * always write the variable * Fix separate make and install execution error issue. * trigger CI system. * add openssl and win_bison win_flex patch * add configuration dependent patches * add bonjour as a dependency on macosx * apply patches and configure features * more patches to fix the windows build * more install fixes * remove unnecessary code * bit of code cleanup * remove unrelated files * remove unrelated function call. function was removed with last commit * removed hardcoded platform * fix patch * build only the interface libraries and nothing more * forgot to remove tool ecpg from install * seperate minimal install patch from normal install patch and introduce client feature * fix x86 Platform variable being x86 and not Win32 as required by the generated project * make linux build work * make more linux work * openssl return version number directly without calling openssl (should probably be done differently) * fix some more path and platform identification * comments to reduce install. currently libpq installs static and shared libraries and some tools on linux * patch arm * fix platform detection logic * make libpq osx buildable * Rename debug import library after build. (So that we don't affect external CMake users.) * revert debug naming and install a wrapper instead. * fix gdal regression due to name change * fix cutelyst regression due to qt5-base wrapper (why was it not using the target in the first place?) * correct wrapper install path * correct the arm patch. * trying to fix static gdal build * gdal still needs more work * update version of openssl in libpq openssl patch * nmap fix openssl * qt5 fix openssl * gdal fix openssl * librtmp migrate to openssl 1.1.1 * fail in patch since what is intended is not going to work in openssl 1.1.1 * fix static yara build * freedtds deactivate openssl feature until freetds decides to upgrade to 1.1 * fix libwebsockets cmakelists * fix the patch so that the generated targets also include crypt32 * xmlsec add threads dependency * bump control since I am unable to reproduce the regression * add pthread to openssl detection logic * fix freetds linkage missing crypt32 and fix the cmake checks. * fix the openssl wrapper to add the threads library * fix libmysql regression * add threads to openssl libraries. * upgrade libssh to 0.9 * fix nmap regression * fix mosquitto regression * fix openssl wrapper to make libarchive work * fix quickfix * changed patch a bit * improve freetds patch * fix case in librtmp * update control * bump control * fix case * make jasper a dependency of qt5-imageformats to fix flaky CI build. * add jasper libraries explicitly * jasper depends on freeglut so add it as a dependency. turbo_jpeg is also a dependency but that should already be handled in qt5-base * more glut names * bump control for macosx ci retry * fix slikenet regression * fix linebreak in qt5-base * update baseline * Update ci.baseline.txt those ports are not supported on UWP * [libevent] add dependency on libevent[threads] to openssl feature * [pdal,freerdp] Update CI baseline to fail * fix static pdal build * fix freerdp on linux * trying to revert some changes * revert changes in build make * revert x264 version bump Co-authored-by: Force Charlie <6904176+fcharlie@users.noreply.github.com> Co-authored-by: Johnny Willemsen <jwillemsen@remedy.nl> Co-authored-by: Lennart Trunk <lennart.trunk@outlook.de> Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> Co-authored-by: Victor Romero <romerosanchezv@gmail.com>
100 lines
4.5 KiB
PowerShell
100 lines
4.5 KiB
PowerShell
# This script is based on the implementation of windeployqt for qt5.7.1
|
|
#
|
|
# Qt's plugin deployment strategy is that each main Qt Module has a hardcoded
|
|
# set of plugin subdirectories. Each of these subdirectories is deployed in
|
|
# full if that Module is referenced.
|
|
#
|
|
# This hardcoded list is found inside qttools\src\windeployqt\main.cpp. For
|
|
# updating, inspect the symbols qtModuleEntries and qtModuleForPlugin.
|
|
|
|
# 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\plugins\$pluginSubdirName" -ItemType Directory -ErrorAction SilentlyContinue | Out-Null
|
|
Get-ChildItem "$QtPluginsDir\$pluginSubdirName\*.dll" | % {
|
|
deployBinary "$targetBinaryDir\plugins\$pluginSubdirName" "$QtPluginsDir\$pluginSubdirName" $_.Name
|
|
resolve "$targetBinaryDir\plugins\$pluginSubdirName\$($_.Name)"
|
|
}
|
|
} else {
|
|
Write-Verbose " Skipping plugins directory '$pluginSubdirName': doesn't exist"
|
|
}
|
|
}
|
|
|
|
# We detect Qt modules in use via the DLLs themselves. See qtModuleEntries in Qt to find the mapping.
|
|
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\plugins\platforms" -ItemType Directory -ErrorAction SilentlyContinue | Out-Null
|
|
Get-ChildItem "$QtPluginsDir\platforms\qwindows*.dll" | % {
|
|
deployBinary "$targetBinaryDir\plugins\platforms" "$QtPluginsDir\platforms" $_.Name
|
|
}
|
|
|
|
deployPlugins "accessible"
|
|
deployPlugins "imageformats"
|
|
deployPlugins "iconengines"
|
|
deployPlugins "platforminputcontexts"
|
|
deployPlugins "styles"
|
|
} elseif ($targetBinaryName -match "Qt5Networkd?.dll") {
|
|
deployPlugins "bearer"
|
|
if (Test-Path "$binDir\libcrypto-1_1.dll")
|
|
{
|
|
deployBinary "$targetBinaryDir" "$binDir" "libcrypto-1_1.dll"
|
|
deployBinary "$targetBinaryDir" "$binDir" "libssl-1_1.dll"
|
|
}
|
|
} elseif ($targetBinaryName -match "Qt5Sqld?.dll") {
|
|
deployPlugins "sqldrivers"
|
|
} elseif ($targetBinaryName -match "Qt5Multimediad?.dll") {
|
|
deployPlugins "audio"
|
|
deployPlugins "mediaservice"
|
|
deployPlugins "playlistformats"
|
|
} elseif ($targetBinaryName -match "Qt5PrintSupportd?.dll") {
|
|
deployPlugins "printsupport"
|
|
} 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", "Qt5QuickShapes", "Qt5QuickShapesd", "Qt5QuickTemplates2", "Qt5QuickTemplates2d"))
|
|
{
|
|
if (Test-Path "$binDir\$a.dll")
|
|
{
|
|
deployBinary "$targetBinaryDir" "$binDir" "$a.dll"
|
|
}
|
|
}
|
|
deployPlugins "scenegraph"
|
|
deployPlugins "qmltooling"
|
|
} elseif ($targetBinaryName -like "Qt5Declarative*.dll") {
|
|
deployPlugins "qml1tooling"
|
|
} elseif ($targetBinaryName -like "Qt5Positioning*.dll") {
|
|
deployPlugins "position"
|
|
} elseif ($targetBinaryName -like "Qt5Location*.dll") {
|
|
deployPlugins "geoservices"
|
|
} elseif ($targetBinaryName -like "Qt5Sensors*.dll") {
|
|
deployPlugins "sensors"
|
|
deployPlugins "sensorgestures"
|
|
} elseif ($targetBinaryName -like "Qt5WebEngineCore*.dll") {
|
|
deployPlugins "qtwebengine"
|
|
} elseif ($targetBinaryName -like "Qt53DRenderer*.dll") {
|
|
deployPlugins "sceneparsers"
|
|
} elseif ($targetBinaryName -like "Qt5TextToSpeech*.dll") {
|
|
deployPlugins "texttospeech"
|
|
} elseif ($targetBinaryName -like "Qt5SerialBus*.dll") {
|
|
deployPlugins "canbus"
|
|
}
|
|
}
|