aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/.appveyor/build.ps1
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--.appveyor/build.ps1119
1 files changed, 0 insertions, 119 deletions
diff --git a/.appveyor/build.ps1 b/.appveyor/build.ps1
deleted file mode 100644
index 43ed2e8..0000000
--- a/.appveyor/build.ps1
+++ /dev/null
@@ -1,119 +0,0 @@
-param(
- [string] $BuildDir = $null,
- [string] $InstallDir = $null,
- [string] $ProjectDir = $null,
- [string] $Platform = $null,
- [string] $Generator = $null,
- [string] $Configuration = $null,
- [string] $BoostDir = $null,
- [string] $BoostLibraryDir = $null
-)
-
-$ErrorActionPreference = "Stop";
-Set-PSDebug -Strict
-
-function Invoke-Exe {
- param(
- [ScriptBlock] $Cmd,
- [int[]] $AllowedExitCodes = @(0)
- )
-
- $backupErrorActionPreference = $script:ErrorActionPreference
- $script:ErrorActionPreference = 'Continue'
-
- try {
- & $Cmd
- if ($AllowedExitCodes -notcontains $LastExitCode) {
- throw "External command failed with exit code ${LastExitCode}: $Cmd"
- }
- } finally {
- $script:ErrorActionPreference = $backupErrorActionPreference
- }
-}
-
-function Test-AppVeyor {
- return Test-Path env:APPVEYOR
-}
-
-function Set-AppVeyorDefaults {
- $script:ProjectDir = $env:APPVEYOR_BUILD_FOLDER
- $script:BuildDir = 'C:\Projects\build'
- $script:InstallDir = 'C:\Projects\install'
- $script:Generator = switch ($env:APPVEYOR_BUILD_WORKER_IMAGE) {
- 'Visual Studio 2017' { 'Visual Studio 15 2017' }
- 'Visual Studio 2019' { 'Visual Studio 16 2019' }
- default { throw "Unsupported AppVeyor image: $env:APPVEYOR_BUILD_WORKER_IMAGE" }
- }
- $script:Platform = $env:PLATFORM
- $script:Configuration = $env:CONFIGURATION
- $script:BoostDir = $env:appveyor_boost_root
- $script:BoostLibraryDir = $env:appveyor_boost_librarydir
-}
-
-function Build-Project {
- param(
- [Parameter(Mandatory=$true)]
- [string] $ProjectDir,
- [Parameter(Mandatory=$true)]
- [string] $BuildDir,
- [Parameter(Mandatory=$true)]
- [string] $InstallDir,
- [Parameter(Mandatory=$true)]
- [string] $Generator,
- [Parameter(Mandatory=$true)]
- [string] $Platform,
- [Parameter(Mandatory=$true)]
- [string] $Configuration,
- [Parameter(Mandatory=$true)]
- [string] $BoostDir,
- [string] $BoostLibraryDir = $null
- )
-
- if (-not $BoostLibraryDir) {
- $BoostLibraryDir = "$BoostDir\stage\lib"
- }
-
- mkdir $BuildDir
- cd $BuildDir
-
- Invoke-Exe { cmake.exe `
- -G $Generator -A $Platform `
- -D "CMAKE_INSTALL_PREFIX=$InstallDir" `
- -D "BOOST_ROOT=$BoostDir" `
- -D "BOOST_LIBRARYDIR=$BoostLibraryDir" `
- -D ENABLE_TESTS=ON `
- $ProjectDir
- }
-
- Invoke-Exe { cmake.exe --build . --config $Configuration --target install -- /m }
-
- cd $InstallDir
-
- Invoke-Exe { .\bin\unit_tests.exe --log_level=all }
-}
-
-function Build-ProjectAppVeyor {
- if (Test-AppVeyor) {
- Set-AppVeyorDefaults
- $appveyor_cwd = pwd
- }
-
- try {
- Build-Project `
- -ProjectDir $script:ProjectDir `
- -BuildDir $script:BuildDir `
- -InstallDir $script:InstallDir `
- -Generator $script:Generator `
- -Platform $script:Platform `
- -Configuration $script:Configuration `
- -BoostDir $script:BoostDir `
- -BoostLibraryDir $script:BoostLibraryDir
- } finally {
- if (Test-AppVeyor) {
- cd $appveyor_cwd
- Set-PSDebug -Off
- }
- }
-}
-
-Build-ProjectAppVeyor