blob: 2c9d9f8d4ffa6477b927a9177a62a7bdefa040e5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
. "$PSScriptRoot\helpers.ps1"
$scriptsPath = "C:\Python27\Scripts"
& "$scriptsPath\pip.exe" install --upgrade conan==0.24.0
# Use Qt Project repository by default
& "$scriptsPath\conan.exe" remote add qtproject https://api.bintray.com/conan/qtproject/conan --insert
[Environment]::SetEnvironmentVariable("CI_CONAN_BUILDINFO_DIR", "C:\Utils\conanbuildinfos", "Machine")
function Start-Process-Logged
{
Write-Host "Start-Process", $args
Start-Process @args
}
function Run-Conan-Install
{
Param (
[string]$ConanfilesDir,
[string]$BuildinfoDir,
[string]$Arch,
[string]$Compiler,
[string]$CompilerVersion,
[string]$CompilerRuntime,
[string]$CompilerLibcxx
)
if ($CompilerRuntime) {
$extraArgs = "-s compiler.runtime=$($CompilerRuntime)"
}
if ($CompilerLibcxx) {
$extraArgs = "-s compiler.libcxx=$($CompilerLibcxx)"
}
$manifestsDir = "$PSScriptRoot\conan_manifests"
Get-ChildItem -Path "$ConanfilesDir\*.txt" |
ForEach-Object {
$conanfile = $_.FullName
$outpwd = "C:\Utils\conanbuildinfos\$($BuildinfoDir)\$($_.BaseName)"
New-Item $outpwd -Type directory -Force
$process = Start-Process-Logged `
"$scriptsPath\conan.exe" `
-WorkingDirectory $outpwd `
-ArgumentList "install -f $conanfile --no-imports --verify $manifestsDir", `
'-s', ('compiler="' + $Compiler + '"'), `
"-s os=Windows -s arch=$Arch -s compiler.version=$CompilerVersion $extraArgs" `
-NoNewWindow -Wait -Verbose `
-PassThru # Return process object
if ($process.ExitCode -ne 0) {
Write-Host "conan exited with code $($process.ExitCode)"
Exit(1)
}
Copy-Item -Path $conanfile -Destination "$outpwd\conanfile.txt"
}
}
|