aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/.appveyor
diff options
context:
space:
mode:
authorEgor Tensin <Egor.Tensin@gmail.com>2019-12-09 08:50:34 +0300
committerEgor Tensin <Egor.Tensin@gmail.com>2019-12-09 09:21:31 +0300
commit8706fa3939a82975f6e627900f52680de2ddbb49 (patch)
tree8741b1f2af1df0403ce66a842074866f06a613d8 /.appveyor
parentupdate cmake-common (diff)
downloadmath-server-8706fa3939a82975f6e627900f52680de2ddbb49.tar.gz
math-server-8706fa3939a82975f6e627900f52680de2ddbb49.zip
use CMake's install() for predictable paths
This will allow to merge the scripts for the two CIs in the future, hopefully.
Diffstat (limited to '.appveyor')
-rw-r--r--.appveyor/build.ps112
-rw-r--r--.appveyor/test.ps173
2 files changed, 11 insertions, 74 deletions
diff --git a/.appveyor/build.ps1 b/.appveyor/build.ps1
index 94918bd..43ed2e8 100644
--- a/.appveyor/build.ps1
+++ b/.appveyor/build.ps1
@@ -1,5 +1,6 @@
param(
[string] $BuildDir = $null,
+ [string] $InstallDir = $null,
[string] $ProjectDir = $null,
[string] $Platform = $null,
[string] $Generator = $null,
@@ -37,6 +38,7 @@ function Test-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' }
@@ -55,6 +57,8 @@ function Build-Project {
[Parameter(Mandatory=$true)]
[string] $BuildDir,
[Parameter(Mandatory=$true)]
+ [string] $InstallDir,
+ [Parameter(Mandatory=$true)]
[string] $Generator,
[Parameter(Mandatory=$true)]
[string] $Platform,
@@ -74,13 +78,18 @@ function Build-Project {
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 -- /m }
+ Invoke-Exe { cmake.exe --build . --config $Configuration --target install -- /m }
+
+ cd $InstallDir
+
+ Invoke-Exe { .\bin\unit_tests.exe --log_level=all }
}
function Build-ProjectAppVeyor {
@@ -93,6 +102,7 @@ function Build-ProjectAppVeyor {
Build-Project `
-ProjectDir $script:ProjectDir `
-BuildDir $script:BuildDir `
+ -InstallDir $script:InstallDir `
-Generator $script:Generator `
-Platform $script:Platform `
-Configuration $script:Configuration `
diff --git a/.appveyor/test.ps1 b/.appveyor/test.ps1
deleted file mode 100644
index 7701645..0000000
--- a/.appveyor/test.ps1
+++ /dev/null
@@ -1,73 +0,0 @@
-param(
- [string] $BuildDir = $null,
- [string] $Platform = $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 Get-AppVeyorBuildDir {
- return 'C:\Projects\build'
-}
-
-function Set-AppVeyorDefaults {
- $script:BuildDir = Get-AppVeyorBuildDir
- $script:Configuration = $env:CONFIGURATION
-}
-
-function Run-ProjectTests {
- param(
- [Parameter(Mandatory=$true)]
- [string] $BuildDir,
- [Parameter(Mandatory=$true)]
- [string] $Configuration
- )
-
- $unit_tests_dir = "$BuildDir\test\unit_tests\$Configuration"
- cd $unit_tests_dir
-
- Invoke-Exe { .\unit_tests.exe --log_level=all }
-}
-
-function Run-ProjectTestsAppVeyor {
- if (Test-AppVeyor) {
- Set-AppVeyorDefaults
- $appveyor_cwd = pwd
- }
-
- try {
- Run-ProjectTests `
- -BuildDir $script:BuildDir `
- -Configuration $script:Configuration
- } finally {
- if (Test-AppVeyor) {
- cd $appveyor_cwd
- Set-PSDebug -Off
- }
- }
-}
-
-Run-ProjectTestsAppVeyor