mirror of
https://github.com/pocoproject/poco.git
synced 2024-12-12 10:13:51 +01:00
fix(build): fix build with openssl 3.1.0 on vs2022 (#3969)
* fix log verbosity in windows powershell build script * stop paths being added multiple times to environment variables * pass useenv property to msbuild * linking issue: include crypto.h prior to config.h so POCO_EXTERNAL_OPENSSL is initialised * resolve poco_base path in powershell script * build against any available windows sdk
This commit is contained in:
parent
f6c3017b3e
commit
e0e628ac7e
@ -20,8 +20,8 @@
|
|||||||
#define NetSSL_NetSSL_INCLUDED
|
#define NetSSL_NetSSL_INCLUDED
|
||||||
|
|
||||||
|
|
||||||
#include "Poco/Net/Net.h"
|
|
||||||
#include "Poco/Crypto/Crypto.h"
|
#include "Poco/Crypto/Crypto.h"
|
||||||
|
#include "Poco/Net/Net.h"
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -135,12 +135,12 @@ if not defined VCINSTALLDIR (
|
|||||||
) else (
|
) else (
|
||||||
if %VS_VERSION%==vs170 (
|
if %VS_VERSION%==vs170 (
|
||||||
if %PLATFORM%==x64 (
|
if %PLATFORM%==x64 (
|
||||||
call "%VS170COMNTOOLS%%VS_VARSALL%" x86_amd64 8.1
|
call "%VS170COMNTOOLS%%VS_VARSALL%" x86_amd64
|
||||||
) else (
|
) else (
|
||||||
if %PLATFORM%==arm64 (
|
if %PLATFORM%==arm64 (
|
||||||
call "%VS170COMNTOOLS%%VS_VARSALL%" x86_arm64
|
call "%VS170COMNTOOLS%%VS_VARSALL%" x86_arm64
|
||||||
) else (
|
) else (
|
||||||
call "%VS170COMNTOOLS%%VS_VARSALL%" x86 8.1
|
call "%VS170COMNTOOLS%%VS_VARSALL%" x86
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
19
buildwin.ps1
19
buildwin.ps1
@ -14,7 +14,7 @@
|
|||||||
# [-omit "Lib1X,LibY,LibZ,..."]
|
# [-omit "Lib1X,LibY,LibZ,..."]
|
||||||
# [-tool msbuild | devenv]
|
# [-tool msbuild | devenv]
|
||||||
# [-useenv env | noenv]
|
# [-useenv env | noenv]
|
||||||
# [-verbosity m[inimal] | q[uiet] | n[ormal] | d[etailed] | diag[nostic]]
|
# [-verbosity minimal | quiet | normal | detailed | diagnostic]
|
||||||
# [-openssl_base dir]
|
# [-openssl_base dir]
|
||||||
# [-mysql_base dir]
|
# [-mysql_base dir]
|
||||||
|
|
||||||
@ -57,7 +57,7 @@ Param
|
|||||||
[string] $useenv = 'env',
|
[string] $useenv = 'env',
|
||||||
|
|
||||||
[Parameter()]
|
[Parameter()]
|
||||||
[ValidateSet('quiet', 'm[inimal]', 'n[ormal]', 'd[etailed]', 'diag[nostic]')]
|
[ValidateSet('quiet', 'minimal', 'normal', 'detailed', 'diagnostic')]
|
||||||
[string] $verbosity = 'minimal',
|
[string] $verbosity = 'minimal',
|
||||||
|
|
||||||
[Parameter()]
|
[Parameter()]
|
||||||
@ -116,12 +116,13 @@ function Add-VSCOMNTOOLS([int] $vsver)
|
|||||||
|
|
||||||
function Add-Env-Var([string] $lib, [string] $var)
|
function Add-Env-Var([string] $lib, [string] $var)
|
||||||
{
|
{
|
||||||
if ((${Env:$var} -eq $null) -or (-not ${Env:$var}.Contains(${Env:$lib_$var"})))
|
$envvar = if (Test-Path "Env:$var") { Get-Content "Env:$var" } Else { "" }
|
||||||
|
|
||||||
|
$libvar = Get-Content "Env:${lib}_$var"
|
||||||
|
if (-not $envvar.Contains($libvar))
|
||||||
{
|
{
|
||||||
$libvar = "$lib" + "_" + "$var"
|
$envvar = $envvar + ";$libvar"
|
||||||
$envvar = [Environment]::GetEnvironmentVariable($var, "Process")
|
Set-Content "Env:${var}" $envvar
|
||||||
$envvar = $envvar + ';' + [Environment]::GetEnvironmentVariable($libvar, "Process")
|
|
||||||
[Environment]::SetEnvironmentVariable($var, $envvar, "Process")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -141,7 +142,7 @@ function Set-Environment
|
|||||||
|
|
||||||
if ($openssl_base -eq '')
|
if ($openssl_base -eq '')
|
||||||
{
|
{
|
||||||
$script:openssl_base = '$poco_base\openssl'
|
$script:openssl_base = "$poco_base\openssl"
|
||||||
}
|
}
|
||||||
|
|
||||||
$Env:OPENSSL_DIR = "$openssl_base"
|
$Env:OPENSSL_DIR = "$openssl_base"
|
||||||
@ -270,7 +271,7 @@ function Exec-MSBuild([string] $vsProject, [string] $projectConfig)
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
$cmd = "&`"$script:msbuild_exe`" $vsProject /nologo /m /t:$action /p:Configuration=$projectConfig /p:BuildProjectReferences=false /p:Platform=$platform /p:useenv=$useenv /v:$verbosity"
|
$cmd = "&`"$script:msbuild_exe`" $vsProject /nologo /m /t:$action /p:Configuration=$projectConfig /p:BuildProjectReferences=false /p:Platform=$platform /p:useenv=$($useenv -eq 'env') /v:$verbosity"
|
||||||
Write-Host $cmd
|
Write-Host $cmd
|
||||||
Invoke-Expression $cmd
|
Invoke-Expression $cmd
|
||||||
if ($LastExitCode -ne 0) { Exit $LastExitCode }
|
if ($LastExitCode -ne 0) { Exit $LastExitCode }
|
||||||
|
Loading…
Reference in New Issue
Block a user