blob: d440804ee880987758ee0468e8fc542b1557f6da (
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
63
64
65
66
67
68
69
70
|
. "$PSScriptRoot\helpers.ps1"
$scriptsPath = "C:\Python27\Scripts"
Run-Executable "$scriptsPath\pip.exe" "install --upgrade conan==0.24.0"
# Use Qt Project repository by default
Run-Executable "$scriptsPath\conan.exe" "remote add qtproject https://api.bintray.com/conan/qtproject/conan --insert"
Set-EnvironmentVariable "CI_CONAN_BUILDINFO_DIR" "C:\Utils\conanbuildinfos"
function Run-Conan-Install
{
Param (
[string]$ConanfilesDir,
[string]$BuildinfoDir,
[string]$Arch,
[string]$Compiler,
[string]$CompilerVersion,
[string]$CompilerRuntime,
[string]$CompilerLibcxx,
[string]$CompilerException,
[string]$CompilerThreads
)
if ($CompilerRuntime) {
$extraArgs += " -s compiler.runtime=$CompilerRuntime"
}
if ($CompilerLibcxx) {
$extraArgs += " -s compiler.libcxx=$CompilerLibcxx"
}
if ($CompilerException) {
$extraArgs += " -s compiler.exception=$CompilerException"
}
if ($CompilerThreads) {
$extraArgs += " -s compiler.threads=$CompilerThreads"
}
$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 | Out-Null
for ($i = 1; $i -le 5; $i++) {
try {
Push-Location $outpwd
Run-Executable "$scriptsPath\conan.exe" "install -f $conanfile --no-imports --verify $manifestsDir", `
'-s', ('compiler="' + $Compiler + '"'), `
"-s os=Windows -s arch=$Arch -s compiler.version=$CompilerVersion $extraArgs"
break;
} catch {
if ($i -eq 5) {
throw "Could not install conan content"
}
} finally {
Pop-Location
}
}
Copy-Item -Path $conanfile -Destination "$outpwd\conanfile.txt"
}
}
Write-Output "Conan = 0.24.0" >> ~\versions.txt
|