summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2018-07-14 12:22:16 +0100
committerEdward Thomson <ethomson@edwardthomson.com>2018-07-26 14:07:00 +0100
commit3b6281fac165bd910abe7e961e5e65168723a187 (patch)
tree9e38a624be330729b9b1ec0cd18d0510bec4be90
parentce798b256b071f57bfd62664626c10339b3e36f7 (diff)
downloadlibgit2-3b6281fac165bd910abe7e961e5e65168723a187.tar.gz
ci: Windows PowerShell build script
-rw-r--r--ci/build.ps150
1 files changed, 50 insertions, 0 deletions
diff --git a/ci/build.ps1 b/ci/build.ps1
new file mode 100644
index 000000000..12cc4fb54
--- /dev/null
+++ b/ci/build.ps1
@@ -0,0 +1,50 @@
+Set-StrictMode -Version Latest
+
+$ErrorActionPreference = "Stop"
+$PSDefaultParameterValues['*:ErrorAction'] = 'Stop'
+
+if ($Env:SOURCE_DIR) { $SourceDirectory = $Env:SOURCE_DIR } else { $SourceDirectory = Split-Path (Split-Path $MyInvocation.MyCommand.Path -Parent) -Parent }
+$BuildDirectory = $(Get-Location).Path
+
+Write-Host "Source directory: ${SourceDirectory}"
+Write-Host "Build directory: ${BuildDirectory}"
+Write-Host ""
+Write-Host "Operating system version:"
+Get-CimInstance Win32_OperatingSystem | Select-Object Caption, Version, ServicePackMajorVersion, BuildNumber, OSArchitecture | Format-List
+Write-Host "PATH:"
+Write-Host "${Env:PATH}"
+Write-Host ""
+
+Write-Host "##############################################################################"
+Write-Host "## Configuring build environment"
+Write-Host "##############################################################################"
+
+cmake $SourceDirectory -DBUILD_EXAMPLES=ON ${Env:CMAKE_OPTIONS}
+if ($LastExitCode -ne 0) { [Environment]::Exit($LastExitCode) }
+
+Write-Host ""
+Write-Host "##############################################################################"
+Write-Host "## Building libgit2"
+Write-Host "##############################################################################"
+
+cmake --build .
+if ($LastExitCode -ne 0) { [Environment]::Exit($LastExitCode) }
+
+if ($Env:SKIP_TESTS) { exit }
+
+Write-Host ""
+Write-Host "#######################################################################"
+Write-Host "## Running (offline) tests"
+Write-Host "#######################################################################"
+
+ctest -V -R offline
+if ($LastExitCode -ne 0) { [Environment]::Exit($LastExitCode) }
+
+Write-Host ""
+Write-Host "#######################################################################"
+Write-Host "## Running (online) tests"
+Write-Host "#######################################################################"
+
+ctest -V -R online
+if ($LastExitCode -ne 0) { [Environment]::Exit($LastExitCode) }
+