early-access version 2853
This commit is contained in:
378
externals/vcpkg/scripts/buildsystems/msbuild/applocal.ps1
vendored
Executable file
378
externals/vcpkg/scripts/buildsystems/msbuild/applocal.ps1
vendored
Executable file
@@ -0,0 +1,378 @@
|
||||
[cmdletbinding()]
|
||||
param([string]$targetBinary, [string]$installedDir, [string]$tlogFile, [string]$copiedFilesLog)
|
||||
|
||||
$g_searched = @{}
|
||||
# Note: installedDir is actually the bin\ directory.
|
||||
$g_install_root = Split-Path $installedDir -parent
|
||||
$g_is_debug = (Split-Path $g_install_root -leaf) -eq 'debug'
|
||||
|
||||
# Ensure we create the copied files log, even if we don't end up copying any files
|
||||
if ($copiedFilesLog)
|
||||
{
|
||||
Set-Content -Path $copiedFilesLog -Value "" -Encoding UTF8
|
||||
}
|
||||
|
||||
function computeHash([System.Security.Cryptography.HashAlgorithm]$alg, [string]$str) {
|
||||
$bytes = [System.Text.Encoding]::UTF8.GetBytes($str)
|
||||
$hash = $alg.ComputeHash($bytes)
|
||||
return [Convert]::ToBase64String($hash)
|
||||
}
|
||||
|
||||
function getMutex([string]$targetDir) {
|
||||
try {
|
||||
$sha512Hash = [System.Security.Cryptography.SHA512]::Create()
|
||||
if ($sha512Hash) {
|
||||
$hash = (computeHash $sha512Hash $targetDir) -replace ('/' ,'-')
|
||||
$mtxName = "VcpkgAppLocalDeployBinary-" + $hash
|
||||
return New-Object System.Threading.Mutex($false, $mtxName)
|
||||
}
|
||||
|
||||
return New-Object System.Threading.Mutex($false, "VcpkgAppLocalDeployBinary")
|
||||
}
|
||||
catch {
|
||||
Write-Error -Message $_ -ErrorAction Stop
|
||||
}
|
||||
}
|
||||
|
||||
# Note: this function signature is depended upon by the qtdeploy.ps1 script introduced in 5.7.1-7
|
||||
function deployBinary([string]$targetBinaryDir, [string]$SourceDir, [string]$targetBinaryName) {
|
||||
try {
|
||||
$mtx = getMutex($targetBinaryDir)
|
||||
if ($mtx) {
|
||||
$mtx.WaitOne() | Out-Null
|
||||
}
|
||||
|
||||
$sourceBinaryFilePath = Join-Path $SourceDir $targetBinaryName
|
||||
$targetBinaryFilePath = Join-Path $targetBinaryDir $targetBinaryName
|
||||
if (Test-Path $targetBinaryFilePath) {
|
||||
$sourceModTime = (Get-Item $sourceBinaryFilePath).LastWriteTime
|
||||
$destModTime = (Get-Item $targetBinaryFilePath).LastWriteTime
|
||||
if ($destModTime -lt $sourceModTime) {
|
||||
Write-Verbose " ${targetBinaryName}: Updating from $sourceBinaryFilePath"
|
||||
Copy-Item $sourceBinaryFilePath $targetBinaryDir
|
||||
} else {
|
||||
Write-Verbose " ${targetBinaryName}: already present"
|
||||
}
|
||||
}
|
||||
else {
|
||||
Write-Verbose " ${targetBinaryName}: Copying $sourceBinaryFilePath"
|
||||
Copy-Item $sourceBinaryFilePath $targetBinaryDir
|
||||
}
|
||||
if ($copiedFilesLog) { Add-Content $copiedFilesLog $targetBinaryFilePath -Encoding UTF8 }
|
||||
if ($tlogFile) { Add-Content $tlogFile $targetBinaryFilePath -Encoding Unicode }
|
||||
} finally {
|
||||
if ($mtx) {
|
||||
$mtx.ReleaseMutex() | Out-Null
|
||||
$mtx.Dispose() | Out-Null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
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
|
||||
{
|
||||
$targetBinaryPath = Resolve-Path $targetBinary -erroraction stop
|
||||
}
|
||||
catch [System.Management.Automation.ItemNotFoundException]
|
||||
{
|
||||
return
|
||||
}
|
||||
$targetBinaryDir = Split-Path $targetBinaryPath -parent
|
||||
|
||||
if (Get-Command "dumpbin" -ErrorAction SilentlyContinue) {
|
||||
$a = $(dumpbin /DEPENDENTS $targetBinary | ? { $_ -match "^ [^ ].*\.dll" } | % { $_ -replace "^ ","" })
|
||||
} elseif (Get-Command "llvm-objdump" -ErrorAction SilentlyContinue) {
|
||||
$a = $(llvm-objdump -p $targetBinary| ? { $_ -match "^ {4}DLL Name: .*\.dll" } | % { $_ -replace "^ {4}DLL Name: ","" })
|
||||
} elseif (Get-Command "objdump" -ErrorAction SilentlyContinue) {
|
||||
$a = $(objdump -p $targetBinary| ? { $_ -match "^\tDLL Name: .*\.dll" } | % { $_ -replace "^\tDLL Name: ","" })
|
||||
} else {
|
||||
Write-Error "Neither dumpbin, llvm-objdump nor objdump could be found. Can not take care of dll dependencies."
|
||||
}
|
||||
$a | % {
|
||||
if ([string]::IsNullOrEmpty($_)) {
|
||||
return
|
||||
}
|
||||
if ($g_searched.ContainsKey($_)) {
|
||||
Write-Verbose " ${_}: previously searched - Skip"
|
||||
return
|
||||
}
|
||||
$g_searched.Set_Item($_, $true)
|
||||
$installedItemFilePath = Join-Path $installedDir $_
|
||||
$targetItemFilePath = Join-Path $targetBinaryDir $_
|
||||
if (Test-Path $installedItemFilePath) {
|
||||
deployBinary $baseTargetBinaryDir $installedDir "$_"
|
||||
if (Test-Path function:\deployPluginsIfQt) { deployPluginsIfQt $baseTargetBinaryDir (Join-Path $g_install_root 'plugins') "$_" }
|
||||
if (Test-Path function:\deployOpenNI2) { deployOpenNI2 $targetBinaryDir "$g_install_root" "$_" }
|
||||
if (Test-Path function:\deployPluginsIfMagnum) {
|
||||
if ($g_is_debug) {
|
||||
deployPluginsIfMagnum $targetBinaryDir (Join-Path (Join-Path "$g_install_root" 'bin') 'magnum-d') "$_"
|
||||
} else {
|
||||
deployPluginsIfMagnum $targetBinaryDir (Join-Path (Join-Path "$g_install_root" 'bin') 'magnum') "$_"
|
||||
}
|
||||
}
|
||||
if (Test-Path function:\deployAzureKinectSensorSDK) { deployAzureKinectSensorSDK $targetBinaryDir "$g_install_root" "$_" }
|
||||
resolve (Join-Path $baseTargetBinaryDir "$_")
|
||||
} elseif (Test-Path $targetItemFilePath) {
|
||||
Write-Verbose " ${_}: $_ not found in $g_install_root; locally deployed"
|
||||
resolve "$targetItemFilePath"
|
||||
} else {
|
||||
Write-Verbose " ${_}: $installedItemFilePath not found"
|
||||
}
|
||||
}
|
||||
Write-Verbose "Done Resolving $targetBinary."
|
||||
}
|
||||
|
||||
# Note: This is a hack to make Qt5 work.
|
||||
# Introduced with Qt package version 5.7.1-7
|
||||
if (Test-Path "$g_install_root\plugins\qtdeploy.ps1") {
|
||||
. "$g_install_root\plugins\qtdeploy.ps1"
|
||||
}
|
||||
|
||||
# Note: This is a hack to make OpenNI2 work.
|
||||
if (Test-Path "$g_install_root\bin\OpenNI2\openni2deploy.ps1") {
|
||||
. "$g_install_root\bin\OpenNI2\openni2deploy.ps1"
|
||||
}
|
||||
|
||||
# Note: This is a hack to make Magnum work.
|
||||
if (Test-Path "$g_install_root\bin\magnum\magnumdeploy.ps1") {
|
||||
. "$g_install_root\bin\magnum\magnumdeploy.ps1"
|
||||
} elseif (Test-Path "$g_install_root\bin\magnum-d\magnumdeploy.ps1") {
|
||||
. "$g_install_root\bin\magnum-d\magnumdeploy.ps1"
|
||||
}
|
||||
|
||||
# Note: This is a hack to make Azure Kinect Sensor SDK work.
|
||||
if (Test-Path "$g_install_root\tools\azure-kinect-sensor-sdk\k4adeploy.ps1") {
|
||||
. "$g_install_root\tools\azure-kinect-sensor-sdk\k4adeploy.ps1"
|
||||
}
|
||||
|
||||
resolve($targetBinary)
|
||||
Write-Verbose $($g_searched | out-string)
|
||||
|
||||
# SIG # Begin signature block
|
||||
# MIIntwYJKoZIhvcNAQcCoIInqDCCJ6QCAQExDzANBglghkgBZQMEAgEFADB5Bgor
|
||||
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
|
||||
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAw4oRiVyZP7w6g
|
||||
# qWIJMRXurO+EoO/lf/MY7lRybXYZ/aCCDYEwggX/MIID56ADAgECAhMzAAACUosz
|
||||
# qviV8znbAAAAAAJSMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
|
||||
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
|
||||
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
|
||||
# bmcgUENBIDIwMTEwHhcNMjEwOTAyMTgzMjU5WhcNMjIwOTAxMTgzMjU5WjB0MQsw
|
||||
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
|
||||
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
|
||||
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
|
||||
# AQDQ5M+Ps/X7BNuv5B/0I6uoDwj0NJOo1KrVQqO7ggRXccklyTrWL4xMShjIou2I
|
||||
# sbYnF67wXzVAq5Om4oe+LfzSDOzjcb6ms00gBo0OQaqwQ1BijyJ7NvDf80I1fW9O
|
||||
# L76Kt0Wpc2zrGhzcHdb7upPrvxvSNNUvxK3sgw7YTt31410vpEp8yfBEl/hd8ZzA
|
||||
# v47DCgJ5j1zm295s1RVZHNp6MoiQFVOECm4AwK2l28i+YER1JO4IplTH44uvzX9o
|
||||
# RnJHaMvWzZEpozPy4jNO2DDqbcNs4zh7AWMhE1PWFVA+CHI/En5nASvCvLmuR/t8
|
||||
# q4bc8XR8QIZJQSp+2U6m2ldNAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE
|
||||
# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUNZJaEUGL2Guwt7ZOAu4efEYXedEw
|
||||
# UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1
|
||||
# ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDY3NTk3MB8GA1UdIwQYMBaAFEhu
|
||||
# ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu
|
||||
# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w
|
||||
# Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3
|
||||
# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx
|
||||
# MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAFkk3
|
||||
# uSxkTEBh1NtAl7BivIEsAWdgX1qZ+EdZMYbQKasY6IhSLXRMxF1B3OKdR9K/kccp
|
||||
# kvNcGl8D7YyYS4mhCUMBR+VLrg3f8PUj38A9V5aiY2/Jok7WZFOAmjPRNNGnyeg7
|
||||
# l0lTiThFqE+2aOs6+heegqAdelGgNJKRHLWRuhGKuLIw5lkgx9Ky+QvZrn/Ddi8u
|
||||
# TIgWKp+MGG8xY6PBvvjgt9jQShlnPrZ3UY8Bvwy6rynhXBaV0V0TTL0gEx7eh/K1
|
||||
# o8Miaru6s/7FyqOLeUS4vTHh9TgBL5DtxCYurXbSBVtL1Fj44+Od/6cmC9mmvrti
|
||||
# yG709Y3Rd3YdJj2f3GJq7Y7KdWq0QYhatKhBeg4fxjhg0yut2g6aM1mxjNPrE48z
|
||||
# 6HWCNGu9gMK5ZudldRw4a45Z06Aoktof0CqOyTErvq0YjoE4Xpa0+87T/PVUXNqf
|
||||
# 7Y+qSU7+9LtLQuMYR4w3cSPjuNusvLf9gBnch5RqM7kaDtYWDgLyB42EfsxeMqwK
|
||||
# WwA+TVi0HrWRqfSx2olbE56hJcEkMjOSKz3sRuupFCX3UroyYf52L+2iVTrda8XW
|
||||
# esPG62Mnn3T8AuLfzeJFuAbfOSERx7IFZO92UPoXE1uEjL5skl1yTZB3MubgOA4F
|
||||
# 8KoRNhviFAEST+nG8c8uIsbZeb08SeYQMqjVEmkwggd6MIIFYqADAgECAgphDpDS
|
||||
# AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK
|
||||
# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
|
||||
# IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0
|
||||
# ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla
|
||||
# MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS
|
||||
# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT
|
||||
# H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB
|
||||
# AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG
|
||||
# OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S
|
||||
# 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz
|
||||
# y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7
|
||||
# 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u
|
||||
# M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33
|
||||
# X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl
|
||||
# XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP
|
||||
# 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB
|
||||
# l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF
|
||||
# RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM
|
||||
# CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ
|
||||
# BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud
|
||||
# DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO
|
||||
# 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0
|
||||
# LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y
|
||||
# Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p
|
||||
# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y
|
||||
# Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB
|
||||
# FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw
|
||||
# cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA
|
||||
# XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY
|
||||
# 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj
|
||||
# 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd
|
||||
# d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ
|
||||
# Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf
|
||||
# wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ
|
||||
# aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j
|
||||
# NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B
|
||||
# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96
|
||||
# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7
|
||||
# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I
|
||||
# RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIZjDCCGYgCAQEwgZUwfjELMAkG
|
||||
# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
|
||||
# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z
|
||||
# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAlKLM6r4lfM52wAAAAACUjAN
|
||||
# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor
|
||||
# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQg2MF7lLSS
|
||||
# iHnyjtq+Z0sSiFhMa8sDtjZ1Nc7FC4mwGqMwQgYKKwYBBAGCNwIBDDE0MDKgFIAS
|
||||
# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN
|
||||
# BgkqhkiG9w0BAQEFAASCAQAqEYCzEH7PFdQYSqxft5YV6SCCmSoewMjGLeF7EDCM
|
||||
# pUGrB+R+wzzky7P3AaKej+ph7f0BW26gQrTOcQ7BpJ5Y7F9o6gdrxN9BHejxKVIi
|
||||
# OcW24WL/Gf15UqL403/Zya9FhZFHdsvCtZ+V9wdcZfouZFfxxAqWbmkExzVHU271
|
||||
# GdTPCNaD5VGj1njzbpAZ+GPGSAMNTAwm8ipnTEwTsXlOc8QiPRFAmgfNPTuwpXL6
|
||||
# I3vMrRGDXk0U6w7uk/7IsVlLkDE2KPorbkOKS5JmeNgMigex1ezqYUJvEtst1JSn
|
||||
# GmvSh1GboX9iU1CEUfbKqollz8dLQ+5Jt9M28hX2GwdGoYIXFjCCFxIGCisGAQQB
|
||||
# gjcDAwExghcCMIIW/gYJKoZIhvcNAQcCoIIW7zCCFusCAQMxDzANBglghkgBZQME
|
||||
# AgEFADCCAVkGCyqGSIb3DQEJEAEEoIIBSASCAUQwggFAAgEBBgorBgEEAYRZCgMB
|
||||
# MDEwDQYJYIZIAWUDBAIBBQAEIE+CqTK27oCz06797kOsvD1C/uO67e4Zgv0+P8NY
|
||||
# 0dYxAgZiF5g+l0YYEzIwMjIwMzMwMjE1MjEwLjMzOVowBIACAfSggdikgdUwgdIx
|
||||
# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
|
||||
# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1p
|
||||
# Y3Jvc29mdCBJcmVsYW5kIE9wZXJhdGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhh
|
||||
# bGVzIFRTUyBFU046RDA4Mi00QkZELUVFQkExJTAjBgNVBAMTHE1pY3Jvc29mdCBU
|
||||
# aW1lLVN0YW1wIFNlcnZpY2WgghFlMIIHFDCCBPygAwIBAgITMwAAAY/zUajrWnLd
|
||||
# zAABAAABjzANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMK
|
||||
# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
|
||||
# IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0Eg
|
||||
# MjAxMDAeFw0yMTEwMjgxOTI3NDZaFw0yMzAxMjYxOTI3NDZaMIHSMQswCQYDVQQG
|
||||
# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
|
||||
# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQg
|
||||
# SXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1Mg
|
||||
# RVNOOkQwODItNEJGRC1FRUJBMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFt
|
||||
# cCBTZXJ2aWNlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAmVc+/rXP
|
||||
# Fx6Fk4+CpLrubDrLTa3QuAHRVXuy+zsxXwkogkT0a+XWuBabwHyqj8RRiZQQvdvb
|
||||
# Oq5NRExOeHiaCtkUsQ02ESAe9Cz+loBNtsfCq846u3otWHCJlqkvDrSr7mMBqwcR
|
||||
# Y7cfhAGfLvlpMSojoAnk7Rej+jcJnYxIeN34F3h9JwANY360oGYCIS7pLOosWV+b
|
||||
# xug9uiTZYE/XclyYNF6XdzZ/zD/4U5pxT4MZQmzBGvDs+8cDdA/stZfj/ry+i0XU
|
||||
# YNFPhuqc+UKkwm/XNHB+CDsGQl+ZS0GcbUUun4VPThHJm6mRAwL5y8zptWEIocbT
|
||||
# eRSTmZnUa2iYH2EOBV7eCjx0Sdb6kLc1xdFRckDeQGR4J1yFyybuZsUP8x0dOsEE
|
||||
# oLQuOhuKlDLQEg7D6ZxmZJnS8B03ewk/SpVLqsb66U2qyF4BwDt1uZkjEZ7finIo
|
||||
# UgSz4B7fWLYIeO2OCYxIE0XvwsVop9PvTXTZtGPzzmHU753GarKyuM6oa/qaTzYv
|
||||
# rAfUb7KYhvVQKxGUPkL9+eKiM7G0qenJCFrXzZPwRWoccAR33PhNEuuzzKZFJ4De
|
||||
# aTCLg/8uK0Q4QjFRef5n4H+2KQIEibZ7zIeBX3jgsrICbzzSm0QX3SRVmZH//Aqp
|
||||
# 8YxkwcoI1WCBizv84z9eqwRBdQ4HYcNbQMMCAwEAAaOCATYwggEyMB0GA1UdDgQW
|
||||
# BBTzBuZ0a65JzuKhzoWb25f7NyNxvDAfBgNVHSMEGDAWgBSfpxVdAF5iXYP05dJl
|
||||
# pxtTNRnpcjBfBgNVHR8EWDBWMFSgUqBQhk5odHRwOi8vd3d3Lm1pY3Jvc29mdC5j
|
||||
# b20vcGtpb3BzL2NybC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAx
|
||||
# MCgxKS5jcmwwbAYIKwYBBQUHAQEEYDBeMFwGCCsGAQUFBzAChlBodHRwOi8vd3d3
|
||||
# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFRpbWUtU3Rh
|
||||
# bXAlMjBQQ0ElMjAyMDEwKDEpLmNydDAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoG
|
||||
# CCsGAQUFBwMIMA0GCSqGSIb3DQEBCwUAA4ICAQDNf9Oo9zyhC5n1jC8iU7NJY39F
|
||||
# izjhxZwJbJY/Ytwn63plMlTSaBperan566fuRojGJSv3EwZs+RruOU2T/ZRDx4VH
|
||||
# esLHtclE8GmMM1qTMaZPL8I2FrRmf5Oop4GqcxNdNECBClVZmn0KzFdPMqRa5/0R
|
||||
# 6CmgqJh0muvImikgHubvohsavPEyyHQa94HD4/LNKd/YIaCKKPz9SA5fAa4phQ4E
|
||||
# vz2auY9SUluId5MK9H5cjWVwBxCvYAD+1CW9z7GshJlNjqBvWtKO6J0Aemfg6z28
|
||||
# g7qc7G/tCtrlH4/y27y+stuwWXNvwdsSd1lvB4M63AuMl9Yp6au/XFknGzJPF6n/
|
||||
# uWR6JhQvzh40ILgeThLmYhf8z+aDb4r2OBLG1P2B6aCTW2YQkt7TpUnzI0cKGr21
|
||||
# 3CbKtGk/OOIHSsDOxasmeGJ+FiUJCiV15wh3aZT/VT/PkL9E4hDBAwGt49G88gSC
|
||||
# O0x9jfdDZWdWGbELXlSmA3EP4eTYq7RrolY04G8fGtF0pzuZu43A29zaI9lIr5ul
|
||||
# KRz8EoQHU6cu0PxUw0B9H8cAkvQxaMumRZ/4fCbqNb4TcPkPcWOI24QYlvpbtT9p
|
||||
# 31flYElmc5wjGplAky/nkJcT0HZENXenxWtPvt4gcoqppeJPA3S/1D57KL3667ep
|
||||
# Ir0yV290E2otZbAW8DCCB3EwggVZoAMCAQICEzMAAAAVxedrngKbSZkAAAAAABUw
|
||||
# DQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n
|
||||
# dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y
|
||||
# YXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhv
|
||||
# cml0eSAyMDEwMB4XDTIxMDkzMDE4MjIyNVoXDTMwMDkzMDE4MzIyNVowfDELMAkG
|
||||
# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
|
||||
# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z
|
||||
# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
|
||||
# ggIKAoICAQDk4aZM57RyIQt5osvXJHm9DtWC0/3unAcH0qlsTnXIyjVX9gF/bErg
|
||||
# 4r25PhdgM/9cT8dm95VTcVrifkpa/rg2Z4VGIwy1jRPPdzLAEBjoYH1qUoNEt6aO
|
||||
# RmsHFPPFdvWGUNzBRMhxXFExN6AKOG6N7dcP2CZTfDlhAnrEqv1yaa8dq6z2Nr41
|
||||
# JmTamDu6GnszrYBbfowQHJ1S/rboYiXcag/PXfT+jlPP1uyFVk3v3byNpOORj7I5
|
||||
# LFGc6XBpDco2LXCOMcg1KL3jtIckw+DJj361VI/c+gVVmG1oO5pGve2krnopN6zL
|
||||
# 64NF50ZuyjLVwIYwXE8s4mKyzbnijYjklqwBSru+cakXW2dg3viSkR4dPf0gz3N9
|
||||
# QZpGdc3EXzTdEonW/aUgfX782Z5F37ZyL9t9X4C626p+Nuw2TPYrbqgSUei/BQOj
|
||||
# 0XOmTTd0lBw0gg/wEPK3Rxjtp+iZfD9M269ewvPV2HM9Q07BMzlMjgK8QmguEOqE
|
||||
# UUbi0b1qGFphAXPKZ6Je1yh2AuIzGHLXpyDwwvoSCtdjbwzJNmSLW6CmgyFdXzB0
|
||||
# kZSU2LlQ+QuJYfM2BjUYhEfb3BvR/bLUHMVr9lxSUV0S2yW6r1AFemzFER1y7435
|
||||
# UsSFF5PAPBXbGjfHCBUYP3irRbb1Hode2o+eFnJpxq57t7c+auIurQIDAQABo4IB
|
||||
# 3TCCAdkwEgYJKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUKqdS/mTE
|
||||
# mr6CkTxGNSnPEP8vBO4wHQYDVR0OBBYEFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMFwG
|
||||
# A1UdIARVMFMwUQYMKwYBBAGCN0yDfQEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93
|
||||
# d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTATBgNV
|
||||
# HSUEDDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV
|
||||
# HQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo
|
||||
# 0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1pY3Jvc29m
|
||||
# dC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5j
|
||||
# cmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jv
|
||||
# c29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNydDAN
|
||||
# BgkqhkiG9w0BAQsFAAOCAgEAnVV9/Cqt4SwfZwExJFvhnnJL/Klv6lwUtj5OR2R4
|
||||
# sQaTlz0xM7U518JxNj/aZGx80HU5bbsPMeTCj/ts0aGUGCLu6WZnOlNN3Zi6th54
|
||||
# 2DYunKmCVgADsAW+iehp4LoJ7nvfam++Kctu2D9IdQHZGN5tggz1bSNU5HhTdSRX
|
||||
# ud2f8449xvNo32X2pFaq95W2KFUn0CS9QKC/GbYSEhFdPSfgQJY4rPf5KYnDvBew
|
||||
# VIVCs/wMnosZiefwC2qBwoEZQhlSdYo2wh3DYXMuLGt7bj8sCXgU6ZGyqVvfSaN0
|
||||
# DLzskYDSPeZKPmY7T7uG+jIa2Zb0j/aRAfbOxnT99kxybxCrdTDFNLB62FD+Cljd
|
||||
# QDzHVG2dY3RILLFORy3BFARxv2T5JL5zbcqOCb2zAVdJVGTZc9d/HltEAY5aGZFr
|
||||
# DZ+kKNxnGSgkujhLmm77IVRrakURR6nxt67I6IleT53S0Ex2tVdUCbFpAUR+fKFh
|
||||
# bHP+CrvsQWY9af3LwUFJfn6Tvsv4O+S3Fb+0zj6lMVGEvL8CwYKiexcdFYmNcP7n
|
||||
# tdAoGokLjzbaukz5m/8K6TT4JDVnK+ANuOaMmdbhIurwJ0I9JZTmdHRbatGePu1+
|
||||
# oDEzfbzL6Xu/OHBE0ZDxyKs6ijoIYn/ZcGNTTY3ugm2lBRDBcQZqELQdVTNYs6Fw
|
||||
# ZvKhggLUMIICPQIBATCCAQChgdikgdUwgdIxCzAJBgNVBAYTAlVTMRMwEQYDVQQI
|
||||
# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv
|
||||
# ZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh
|
||||
# dGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046RDA4Mi00QkZE
|
||||
# LUVFQkExJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoB
|
||||
# ATAHBgUrDgMCGgMVAD5NL4IEdudIBwdGoCaV0WBbQZpqoIGDMIGApH4wfDELMAkG
|
||||
# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
|
||||
# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z
|
||||
# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwDQYJKoZIhvcNAQEFBQACBQDl7ubRMCIY
|
||||
# DzIwMjIwMzMwMjIyNTIxWhgPMjAyMjAzMzEyMjI1MjFaMHQwOgYKKwYBBAGEWQoE
|
||||
# ATEsMCowCgIFAOXu5tECAQAwBwIBAAICCl0wBwIBAAICET4wCgIFAOXwOFECAQAw
|
||||
# NgYKKwYBBAGEWQoEAjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEKMAgC
|
||||
# AQACAwGGoDANBgkqhkiG9w0BAQUFAAOBgQBjidsY/frY7jVCC5L43gm9MoaMnxjT
|
||||
# 8gVLXcdbhJzGYftD84JlTWvw/WyGSHpoeg+oCe01IIgdTicq0MKjxoca+LefqaS8
|
||||
# vlAf9s1JdIa2Je7u5CzOt2Gru9C00znmx6hI8XCkV+Gj+ZopC4kESoaSGiyaqt+S
|
||||
# YZHTJ1hNVg79dTGCBA0wggQJAgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQI
|
||||
# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv
|
||||
# ZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBD
|
||||
# QSAyMDEwAhMzAAABj/NRqOtact3MAAEAAAGPMA0GCWCGSAFlAwQCAQUAoIIBSjAa
|
||||
# BgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkEMSIEINiK/M5f
|
||||
# XbrPmiX51J8Q0509SaHo+kaJINrM63rv2CC0MIH6BgsqhkiG9w0BCRACLzGB6jCB
|
||||
# 5zCB5DCBvQQgl3IFT+LGxguVjiKm22ItmO6dFDWW8nShu6O6g8yFxx8wgZgwgYCk
|
||||
# fjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
|
||||
# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD
|
||||
# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAY/zUajrWnLdzAAB
|
||||
# AAABjzAiBCB0UdAt+5LFhsYAoTd2lnVnE0JExPii63XeZzU2N7NElDANBgkqhkiG
|
||||
# 9w0BAQsFAASCAgBVZGqKHCmTLQiez5m9TN0oZdkN914Fcgdy7d+ZecfYKIQEpM4b
|
||||
# OkppRGaHzUinbjDnbY3qGc+fejleoGLr/KQoW/qpXG6vm4Fd78QJeyoYJ91zu97K
|
||||
# dxHDqNPFBgUSI59dz/xZv6yE4dvaLrvT/5K84Wh0266JTbBovUSoeGdHvXML+Ou8
|
||||
# Emrocd+XorK0YmAUOP5yhytSIruzyDd4tLCfz8OUSug4dA8u7HWxPx31L10/Qpaq
|
||||
# EE+TEUNWDaRunnV+ZY7YkyQkdsN+I1Mbe2/KC85Eiy2X04qwPd5ACF68aMrdSGvI
|
||||
# e4eO5pJEHRGkimm9Mm44QCLrxx0zbQIU16GBOWbSyD/oy54MkOreoiIuWhCVS6lN
|
||||
# oJrOEaFbCsrUVMcGAc13YgcLbCw0V/YZNRLMakT9sbjYqfn4xRE3DO8PmyHlzDw8
|
||||
# g6CzIZQExAVkyxY+ZHXf8HcR5n3DHfLGMxCu7o4O7+os0axGBrdSmHJBVuSF+0Q3
|
||||
# 0OaF2MDIrMNYfhlQt5DxB2sw8EnyLctrW2Ve7wuq02gBM+BT2Ln66a9wzNK7HPKs
|
||||
# rSkQg2stGl0hoCRPZ9geSm++3pbtFhzUMosPpfA9mirBELDpWg5YRF9gftRdUfJZ
|
||||
# bLYStWVOB5OFNv2LpxoOdvVzqiigK3+LRrnlcWxPt6/6QqlC5EIFYOkMUw==
|
||||
# SIG # End signature block
|
80
externals/vcpkg/scripts/buildsystems/msbuild/vcpkg-general.xml
vendored
Executable file
80
externals/vcpkg/scripts/buildsystems/msbuild/vcpkg-general.xml
vendored
Executable file
@@ -0,0 +1,80 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Rule Name="VcpkgOptions" DisplayName="vcpkg" PageTemplate="generic" Description="Vcpkg"
|
||||
xmlns="http://schemas.microsoft.com/build/2009/properties">
|
||||
|
||||
<Rule.Categories>
|
||||
<Category Name="General" DisplayName="General" Description="General Vcpkg Configuration" />
|
||||
<Category Name="Conditional" DisplayName="Target and Configuration Specific" Description="Conditional Vcpkg Configuration" />
|
||||
</Rule.Categories>
|
||||
|
||||
<Rule.DataSource>
|
||||
<!-- Note: HasConfigurationCondition must be either "true" or ommitted. Otherwise, the vcpkg property sheet will not be displayed. -->
|
||||
<!-- Note: Remove all instances of 'Label="Vcpkg"' from this file if the vcpkg property sheet does not display any values. -->
|
||||
<DataSource Persistence="ProjectFile" Label="Vcpkg" HasConfigurationCondition="true" />
|
||||
</Rule.DataSource>
|
||||
|
||||
<BoolProperty Name="VcpkgEnabled" DisplayName="Use Vcpkg" Category="General" Default="true"
|
||||
Description="Use Vcpkg for includes and libraries.">
|
||||
<BoolProperty.DataSource>
|
||||
<DataSource Persistence="ProjectFile" Label="Vcpkg" HasConfigurationCondition="false" />
|
||||
</BoolProperty.DataSource>
|
||||
</BoolProperty>
|
||||
|
||||
<BoolProperty Name="VcpkgEnableManifest" DisplayName="Use Vcpkg Manifest" Category="General" Default="false"
|
||||
Description="Use the vcpkg manifest file to define your dependencies.">
|
||||
<BoolProperty.DataSource>
|
||||
<DataSource Persistence="ProjectFile" Label="Vcpkg" HasConfigurationCondition="false" />
|
||||
</BoolProperty.DataSource>
|
||||
</BoolProperty>
|
||||
|
||||
<BoolProperty Name="VcpkgManifestInstall" DisplayName="Install Vcpkg Dependencies" Category="General" Default="true"
|
||||
Description="Install dependencies from the vcpkg manifest.">
|
||||
<BoolProperty.DataSource>
|
||||
<DataSource Persistence="ProjectFile" Label="Vcpkg" HasConfigurationCondition="false" />
|
||||
</BoolProperty.DataSource>
|
||||
</BoolProperty>
|
||||
|
||||
<BoolProperty Name="VcpkgAutoLink" DisplayName="Use AutoLink" Category="General" Default="true"
|
||||
Description="Enables automatic linking with libraries build using Vcpkg. Does not work with lld-link.exe.">
|
||||
<BoolProperty.DataSource>
|
||||
<DataSource Persistence="ProjectFile" Label="Vcpkg" HasConfigurationCondition="false" />
|
||||
</BoolProperty.DataSource>
|
||||
</BoolProperty>
|
||||
|
||||
<StringProperty Name="VcpkgRoot" DisplayName="Vcpkg Root" Category="General" Subtype="folder" Visible="false"
|
||||
Description="Root path where Vcpkg is located. Be careful with changing this one. It is, for example, unable to update this property page from the new location without restarting visual studio.">
|
||||
<StringProperty.DataSource>
|
||||
<DataSource Persistence="ProjectFile" Label="Vcpkg" HasConfigurationCondition="false" />
|
||||
</StringProperty.DataSource>
|
||||
</StringProperty>
|
||||
|
||||
<StringProperty Name="VcpkgManifestRoot" DisplayName="Vcpkg Manifest Root" Category="General" Subtype="folder" Visible="false"
|
||||
Description="The path to the directory which contains the manifest file, and the vcpkg_installed directory.">
|
||||
<StringProperty.DataSource>
|
||||
<DataSource Persistence="ProjectFile" Label="Vcpkg" HasConfigurationCondition="false" />
|
||||
</StringProperty.DataSource>
|
||||
</StringProperty>
|
||||
|
||||
<StringProperty Name="VcpkgInstalledDir" DisplayName="Installed Directory" Category="General" Subtype="folder" Visible="true"
|
||||
Description="The location where headers and binaries will be consumed from. In manifest mode, this directory will be created and populated based on vcpkg.json.">
|
||||
</StringProperty>
|
||||
|
||||
<BoolProperty Name="VcpkgUseStatic" DisplayName="Use Static Libraries" Category="Conditional" Default="false"
|
||||
Description="Vcpkg can build static libraries (e.g. x64-windows-static). This options changes the default triplet to use these static libraries by appending -static to $(VcpkgTriplet). This will not be shown in the evaluation of the Triplet within the UI." />
|
||||
|
||||
<StringProperty Name="VcpkgTriplet" DisplayName="Triplet" Category="Conditional" Subtype="Text"
|
||||
Description="Specifies the triplet used by Vcpkg. Does not include the '-static' suffix that may be added by the 'Use static libraries' flag." />
|
||||
|
||||
<StringProperty Name="VcpkgHostTriplet" DisplayName="Host Triplet" Category="Conditional" Subtype="Text"
|
||||
Description="Specifies the host triplet used by Vcpkg. If empty, this will be automatically determined." />
|
||||
|
||||
<StringProperty Name="VcpkgAdditionalInstallOptions" DisplayName="Additional Options" Category="General" Subtype="Text"
|
||||
Description="Additional command line options to be passed to the underlying vcpkg tool when installing in manifest mode." />
|
||||
|
||||
<EnumProperty Name="VcpkgConfiguration" DisplayName="Vcpkg Configuration" Category="Conditional"
|
||||
Description="Specifies if release or debug libraries build with vcpkg should be used.">
|
||||
<EnumValue Name="Release" Description="Uses release libraries" />
|
||||
<EnumValue Name="Debug" Description="Uses debug libraries" />
|
||||
</EnumProperty>
|
||||
|
||||
</Rule>
|
21
externals/vcpkg/scripts/buildsystems/msbuild/vcpkg.props
vendored
Executable file
21
externals/vcpkg/scripts/buildsystems/msbuild/vcpkg.props
vendored
Executable file
@@ -0,0 +1,21 @@
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<!-- Do not define derived properties here. This file may be imported once and some of the properties below may be overridden afterwards -->
|
||||
<PropertyGroup>
|
||||
<VcpkgPropsImported>true</VcpkgPropsImported>
|
||||
<VcpkgEnabled Condition="'$(VcpkgEnabled)' == ''">true</VcpkgEnabled>
|
||||
<VcpkgConfiguration Condition="'$(VcpkgConfiguration)' == ''">$(Configuration)</VcpkgConfiguration>
|
||||
<VcpkgUseStatic Condition="'$(VcpkgUseStatic)' == ''">false</VcpkgUseStatic>
|
||||
<VcpkgRoot Condition="'$(VcpkgRoot)' == ''">$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)..\..\..'))</VcpkgRoot>
|
||||
|
||||
<VcpkgAutoLink Condition="'$(VcpkgAutoLink)' == ''">true</VcpkgAutoLink>
|
||||
<!-- Deactivate Autolinking if lld is used as a linker. (Until a better way to solve the problem is found!).
|
||||
Tried to add /lib as a parameter to the linker call but was unable to find a way to pass it as the first parameter. -->
|
||||
<VcpkgAutoLink Condition="'$(UseLldLink)' == 'true'">false</VcpkgAutoLink>
|
||||
<VcpkgApplocalDeps Condition="'$(VcpkgApplocalDeps)' == ''">true</VcpkgApplocalDeps>
|
||||
|
||||
<!-- Manifest files -->
|
||||
<VcpkgEnableManifest Condition="'$(VcpkgEnableManifest)' == ''">false</VcpkgEnableManifest>
|
||||
<VcpkgManifestInstall Condition="'$(VcpkgManifestInstall)' == ''">true</VcpkgManifestInstall>
|
||||
<VcpkgManifestRoot Condition="'$(VcpkgManifestRoot)' == ''">$([MSbuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), vcpkg.json))</VcpkgManifestRoot>
|
||||
</PropertyGroup>
|
||||
</Project>
|
210
externals/vcpkg/scripts/buildsystems/msbuild/vcpkg.targets
vendored
Executable file
210
externals/vcpkg/scripts/buildsystems/msbuild/vcpkg.targets
vendored
Executable file
@@ -0,0 +1,210 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<!-- Import default properties if not done yet. This does not overwrite any previously defined properties. -->
|
||||
<Import Condition="'$(VcpkgPropsImported)' != 'true'" Project="vcpkg.props" />
|
||||
|
||||
<!-- VS2015's version of "vcpkg integrate install" imports both the props and targets together in the "props" area,
|
||||
meaning we have no opportunity to respond to user customizations in their project files. It also means that this
|
||||
.targets must defend against normal properties being unset. (For example, VcpkgPlatformTarget below.)
|
||||
|
||||
Also, we copy all initial values to internal values to avoid properties being inconsistently evaluated in targets
|
||||
and dependent properties.
|
||||
-->
|
||||
|
||||
<PropertyGroup>
|
||||
<_ZVcpkgRoot>$(VcpkgRoot)</_ZVcpkgRoot>
|
||||
<_ZVcpkgManifestRoot>$(VcpkgManifestRoot)</_ZVcpkgManifestRoot>
|
||||
<_ZVcpkgInstalledDir>$(VcpkgInstalledDir)</_ZVcpkgInstalledDir>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Add trailing slashes to inputs that must have them to conform with msbuild conventions. -->
|
||||
<PropertyGroup>
|
||||
<_ZVcpkgRoot Condition="!$(_ZVcpkgRoot.EndsWith('\'))">$(_ZVcpkgRoot)\</_ZVcpkgRoot>
|
||||
<_ZVcpkgManifestRoot Condition="'$(_ZVcpkgManifestRoot)' != '' and !$(_ZVcpkgManifestRoot.EndsWith('\'))">$(_ZVcpkgManifestRoot)\</_ZVcpkgManifestRoot>
|
||||
<_ZVcpkgInstalledDir Condition="'$(_ZVcpkgInstalledDir)' != '' and !$(_ZVcpkgInstalledDir.EndsWith('\'))">$(_ZVcpkgInstalledDir)\</_ZVcpkgInstalledDir>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Determine the triplet to use. Note that $(PlatformTarget) is not available at the top of the .vcxproj file. -->
|
||||
<PropertyGroup Condition="'$(VcpkgOSTarget)' == ''">
|
||||
<VcpkgOSTarget>windows</VcpkgOSTarget>
|
||||
<VcpkgOSTarget Condition="'$(AppContainerApplication)' == 'true'">uwp</VcpkgOSTarget>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(VcpkgPlatformTarget)' == ''">
|
||||
<VcpkgPlatformTarget>$(Platform)</VcpkgPlatformTarget>
|
||||
<VcpkgPlatformTarget Condition="'$(Platform)' == 'Win32'">x86</VcpkgPlatformTarget>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<_ZVcpkgLinkage />
|
||||
<_ZVcpkgLinkage Condition="'$(VcpkgUseStatic)' == 'true'">-static</_ZVcpkgLinkage>
|
||||
<VcpkgTriplet Condition="'$(VcpkgTriplet)' == ''">$(VcpkgPlatformTarget)-$(VcpkgOSTarget)$(_ZVcpkgLinkage)</VcpkgTriplet>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Include the triplet in ProjectStateLine to force VS2017 and later to fully rebuild if the user changes it. -->
|
||||
<PropertyGroup>
|
||||
<ProjectStateLine>VcpkgTriplet=$(VcpkgTriplet):$(ProjectStateLine)</ProjectStateLine>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Determine the locations trees we want to consume. _ZVcpkgInstalledDir is special in that it doesn't have a default
|
||||
value in the .props because we normally derive it, but users may override the value. -->
|
||||
<Choose>
|
||||
<When Condition="'$(VcpkgEnableManifest)' == 'true'">
|
||||
<PropertyGroup>
|
||||
<_ZVcpkgInstalledDir Condition="'$(_ZVcpkgInstalledDir)' == ''">$(_ZVcpkgManifestRoot)vcpkg_installed\$(VcpkgTriplet)\</_ZVcpkgInstalledDir>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
<Otherwise>
|
||||
<PropertyGroup>
|
||||
<_ZVcpkgInstalledDir Condition="'$(_ZVcpkgInstalledDir)' == ''">$(_ZVcpkgRoot)installed\</_ZVcpkgInstalledDir>
|
||||
</PropertyGroup>
|
||||
</Otherwise>
|
||||
</Choose>
|
||||
|
||||
<PropertyGroup>
|
||||
<_ZVcpkgCurrentInstalledDir>$(_ZVcpkgInstalledDir)$(VcpkgTriplet)\</_ZVcpkgCurrentInstalledDir>
|
||||
<_ZVcpkgNormalizedConfiguration Condition="$(VcpkgConfiguration.StartsWith('Debug'))">Debug</_ZVcpkgNormalizedConfiguration>
|
||||
<_ZVcpkgNormalizedConfiguration Condition="$(VcpkgConfiguration.StartsWith('Release')) or '$(VcpkgConfiguration)' == 'RelWithDebInfo' or '$(VcpkgConfiguration)' == 'MinSizeRel'">Release</_ZVcpkgNormalizedConfiguration>
|
||||
|
||||
<_ZVcpkgConfigSubdir Condition="'$(_ZVcpkgNormalizedConfiguration)' == 'Debug'">debug\</_ZVcpkgConfigSubdir>
|
||||
<_ZVcpkgExecutable>$(_ZVcpkgRoot)vcpkg.exe</_ZVcpkgExecutable>
|
||||
<ExternalIncludePath>$(ExternalIncludePath);$(_ZVcpkgCurrentInstalledDir)include</ExternalIncludePath>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- Note: Overwrite VcpkgPageSchema with a non-existing path to disable the VcPkg property sheet in your projects -->
|
||||
<VcpkgPageSchema Condition="'$(VcpkgPageSchema)' == ''">$(_ZVcpkgRoot)scripts\buildsystems\msbuild\vcpkg-general.xml</VcpkgPageSchema>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup Condition="'$(VcpkgPageSchema)' != '' and exists('$(VcpkgPageSchema)') and '$(MSBuildToolsVersion)' != '14.0'">
|
||||
<PropertyPageSchema Include="$(VcpkgPageSchema)">
|
||||
<Context>Project</Context>
|
||||
</PropertyPageSchema>
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Install settings to get headers and import libs for the currently selected _ZVcpkgCurrentInstalledDir -->
|
||||
<ItemDefinitionGroup Condition="'$(VcpkgEnabled)' == 'true'">
|
||||
<Lib>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);$(_ZVcpkgCurrentInstalledDir)$(_ZVcpkgConfigSubdir)lib;$(_ZVcpkgCurrentInstalledDir)$(_ZVcpkgConfigSubdir)lib\manual-link</AdditionalLibraryDirectories>
|
||||
</Lib>
|
||||
<Link>
|
||||
<AdditionalDependencies Condition="'$(VcpkgAutoLink)' != 'false'">%(AdditionalDependencies);$(_ZVcpkgCurrentInstalledDir)$(_ZVcpkgConfigSubdir)lib\*.lib</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);$(_ZVcpkgCurrentInstalledDir)$(_ZVcpkgConfigSubdir)lib;$(_ZVcpkgCurrentInstalledDir)$(_ZVcpkgConfigSubdir)lib\manual-link</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(_ZVcpkgCurrentInstalledDir)include</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(_ZVcpkgCurrentInstalledDir)include</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<Target Name="VcpkgCheckManifestRoot" BeforeTargets="VcpkgInstallManifestDependencies" Condition="'$(VcpkgEnabled)' == 'true'">
|
||||
<Error Text="The vcpkg manifest was enabled, but we couldn't find a manifest file (vcpkg.json) in any directories above $(MSBuildProjectDirectory). Please add a manifest, disable manifests in your properties page, or pass /p:VcpkgEnableManifest=false."
|
||||
Condition="'$(VcpkgEnableManifest)' == 'true' and '$(_ZVcpkgManifestRoot)' == ''" />
|
||||
<Message Text="The vcpkg manifest was disabled, but we found a manifest file in $(_ZVcpkgManifestRoot). You may want to enable vcpkg manifests in your properties page or pass /p:VcpkgEnableManifest=true to the msbuild invocation."
|
||||
Importance="High" Condition="'$(VcpkgEnableManifest)' != 'true' and '$(_ZVcpkgManifestRoot)' != ''" />
|
||||
</Target>
|
||||
|
||||
<Target Name="VcpkgTripletSelection" BeforeTargets="ClCompile">
|
||||
<Message Text="Using triplet "$(VcpkgTriplet)" from "$(_ZVcpkgCurrentInstalledDir)""
|
||||
Importance="Normal" Condition="'$(VcpkgEnabled)' == 'true'"/>
|
||||
<Message Text="Not using Vcpkg because VcpkgEnabled is "$(VcpkgEnabled)""
|
||||
Importance="Normal" Condition="'$(VcpkgEnabled)' != 'true'"/>
|
||||
<Message Text="Vcpkg is unable to link because we cannot decide between Release and Debug libraries. Please define the property VcpkgConfiguration to be 'Release' or 'Debug' (currently '$(VcpkgConfiguration)')."
|
||||
Importance="High" Condition="'$(VcpkgEnabled)' == 'true' and '$(_ZVcpkgNormalizedConfiguration)' == ''"/>
|
||||
</Target>
|
||||
|
||||
<Choose>
|
||||
<When Condition="'$(VcpkgHostTriplet)' != ''">
|
||||
<PropertyGroup>
|
||||
<_ZVcpkgHostTripletParameter>"--host-triplet=$(VcpkgHostTriplet)"</_ZVcpkgHostTripletParameter>
|
||||
<_ZVcpkgHostTripletSuffix>$(VcpkgHostTriplet).</_ZVcpkgHostTripletSuffix>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
<Otherwise>
|
||||
<PropertyGroup>
|
||||
<_ZVcpkgHostTripletParameter />
|
||||
<_ZVcpkgHostTripletSuffix />
|
||||
</PropertyGroup>
|
||||
</Otherwise>
|
||||
</Choose>
|
||||
|
||||
<PropertyGroup>
|
||||
<_ZVcpkgManifestFileLocation>$(_ZVcpkgManifestRoot)vcpkg.json</_ZVcpkgManifestFileLocation>
|
||||
<_ZVcpkgConfigurationFileLocation>$(_ZVcpkgManifestRoot)vcpkg-configuration.json</_ZVcpkgConfigurationFileLocation>
|
||||
<_ZVcpkgMSBuildStampFile>$(_ZVcpkgInstalledDir).msbuildstamp-$(VcpkgTriplet).$(_ZVcpkgHostTripletSuffix)stamp</_ZVcpkgMSBuildStampFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup Condition="'$(VcpkgEnabled)' == 'true'">
|
||||
<_ZVcpkgInstallManifestDependenciesInputs Include="$(_ZVcpkgManifestFileLocation)"/>
|
||||
<_ZVcpkgInstallManifestDependenciesInputs Include="$(_ZVcpkgConfigurationFileLocation)" Condition="Exists('$(_ZVcpkgConfigurationFileLocation)')"/>
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="VcpkgInstallManifestDependencies" BeforeTargets="ClCompile"
|
||||
Condition="'$(VcpkgEnabled)' == 'true' and '$(VcpkgEnableManifest)' == 'true' and '$(VcpkgManifestInstall)' == 'true'"
|
||||
Inputs="@(_ZVcpkgInstallManifestDependenciesInputs)"
|
||||
Outputs="$(_ZVcpkgMSBuildStampFile)">
|
||||
<!-- This is set inside the target because $(TLogLocation) may not be set yet when parsing the .targets on VS2015 -->
|
||||
<PropertyGroup>
|
||||
<_ZVcpkgTLogFileLocation>$(TLogLocation)VcpkgInstallManifest$(VcpkgTriplet).$(_ZVcpkgHostTripletSuffix)read.1u.tlog</_ZVcpkgTLogFileLocation>
|
||||
</PropertyGroup>
|
||||
<Message Text="Installing vcpkg dependencies to $(_ZVcpkgInstalledDir)" Importance="High" />
|
||||
<MakeDir Directories="$(_ZVcpkgInstalledDir)" />
|
||||
<Message Text="%22$(_ZVcpkgExecutable)%22 install $(_ZVcpkgHostTripletParameter) --x-wait-for-lock --triplet %22$(VcpkgTriplet)%22 --vcpkg-root %22$(_ZVcpkgRoot)\%22 %22--x-manifest-root=$(_ZVcpkgManifestRoot)\%22 %22--x-install-root=$(_ZVcpkgInstalledDir)\%22 $(VcpkgAdditionalInstallOptions)"
|
||||
Importance="High" />
|
||||
<Exec Command="%22$(_ZVcpkgExecutable)%22 install $(_ZVcpkgHostTripletParameter) --x-wait-for-lock --triplet %22$(VcpkgTriplet)%22 --vcpkg-root %22$(_ZVcpkgRoot)\%22 %22--x-manifest-root=$(_ZVcpkgManifestRoot)\%22 %22--x-install-root=$(_ZVcpkgInstalledDir)\%22 $(VcpkgAdditionalInstallOptions)"
|
||||
StandardOutputImportance="High" />
|
||||
<WriteLinesToFile File="$(_ZVcpkgTLogFileLocation)"
|
||||
Lines="@(_ZVcpkgInstallManifestDependenciesInputs -> '^%(Identity)')"
|
||||
Encoding="Unicode"
|
||||
Overwrite="true"/>
|
||||
<Touch Files="$(_ZVcpkgMSBuildStampFile)" AlwaysCreate="true" />
|
||||
|
||||
<CreateProperty Value="false">
|
||||
<Output TaskParameter="ValueSetByTask" PropertyName="Link_MinimalRebuildFromTracking" />
|
||||
</CreateProperty>
|
||||
</Target>
|
||||
|
||||
<Target Name="AppLocalFromInstalled" AfterTargets="CopyFilesToOutputDirectory" BeforeTargets="CopyLocalFilesOutputGroup;RegisterOutput"
|
||||
Condition="'$(VcpkgEnabled)' == 'true' and '$(VcpkgApplocalDeps)' == 'true' and '$(LinkSkippedExecution)' != 'true'">
|
||||
<Message Text="[vcpkg] Starting VcpkgApplocalDeps" Importance="low" />
|
||||
<PropertyGroup>
|
||||
<_ZVcpkgAppLocalPowerShellCommonArguments>-ExecutionPolicy Bypass -noprofile -File "$(MSBuildThisFileDirectory)applocal.ps1" "$(TargetPath)" "$(_ZVcpkgCurrentInstalledDir)$(_ZVcpkgConfigSubdir)bin" "$(TLogLocation)$(ProjectName).write.1u.tlog" "$(IntDir)vcpkg.applocal.log"</_ZVcpkgAppLocalPowerShellCommonArguments>
|
||||
</PropertyGroup>
|
||||
<!-- Search %PATH% for pwsh.exe if it is available. -->
|
||||
<Exec
|
||||
Command="pwsh.exe $(_ZVcpkgAppLocalPowerShellCommonArguments)"
|
||||
StandardOutputImportance="Normal"
|
||||
StandardErrorImportance="Normal"
|
||||
IgnoreExitCode="true"
|
||||
UseCommandProcessor="false">
|
||||
<Output TaskParameter="ExitCode"
|
||||
PropertyName="_ZVcpkgAppLocalExitCode" />
|
||||
</Exec>
|
||||
<!-- Fall back to well known system PowerShell location otherwise. -->
|
||||
<Message Text="[vcpkg] Failed to run applocal.ps1 using pwsh, falling back to system PowerShell." Importance="low"
|
||||
Condition="$(_ZVcpkgAppLocalExitCode) == 9009" />
|
||||
<Exec
|
||||
Command="%22$(SystemRoot)\System32\WindowsPowerShell\v1.0\powershell.exe%22 $(_ZVcpkgAppLocalPowerShellCommonArguments)"
|
||||
StandardOutputImportance="Normal"
|
||||
StandardErrorImportance="Normal"
|
||||
IgnoreExitCode="true"
|
||||
UseCommandProcessor="false"
|
||||
Condition="$(_ZVcpkgAppLocalExitCode) == 9009">
|
||||
<Output TaskParameter="ExitCode"
|
||||
PropertyName="_ZVcpkgAppLocalExitCode" />
|
||||
</Exec>
|
||||
<!-- We're ignoring the above exit codes, so translate into a warning if both failed. -->
|
||||
<Warning Text="[vcpkg] Failed to gather app local DLL dependencies, program may not run. Set VcpkgApplocalDeps to false in your project file to suppress this warning. PowerShell arguments: $(_ZVcpkgAppLocalPowerShellCommonArguments)"
|
||||
Condition="$(_ZVcpkgAppLocalExitCode) != 0"/>
|
||||
<ReadLinesFromFile File="$(IntDir)vcpkg.applocal.log"
|
||||
Condition="$(_ZVcpkgAppLocalExitCode) == 0">
|
||||
<Output TaskParameter="Lines" ItemName="VcpkgAppLocalDLLs" />
|
||||
</ReadLinesFromFile>
|
||||
<Message Text="@(VcpkgAppLocalDLLs,'%0A')" Importance="Normal" Condition="$(_ZVcpkgAppLocalExitCode) == 0" />
|
||||
<ItemGroup Condition="$(_ZVcpkgAppLocalExitCode) == 0">
|
||||
<ReferenceCopyLocalPaths Include="@(VcpkgAppLocalDLLs)" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
</Project>
|
Reference in New Issue
Block a user