aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorEgor Tensin <Egor.Tensin@gmail.com>2019-12-10 15:35:10 +0300
committerEgor Tensin <Egor.Tensin@gmail.com>2019-12-10 16:45:48 +0300
commitebd9daaca4210f21ff0f911dc5bdc208b4646ac2 (patch)
treed36b9c45aa2c8dbe8215dae66c549871b8ecd6b7
parentutils: add install rules (diff)
downloadaes-tools-ebd9daaca4210f21ff0f911dc5bdc208b4646ac2.tar.gz
aes-tools-ebd9daaca4210f21ff0f911dc5bdc208b4646ac2.zip
AppVeyor/Travis: switch to cmake/build
-rw-r--r--.appveyor/.gitattributes1
-rw-r--r--.appveyor/build.ps1121
-rw-r--r--.appveyor/test.ps1102
-rw-r--r--.travis.yml27
-rw-r--r--.travis/.gitattributes1
-rwxr-xr-x.travis/build.sh22
-rwxr-xr-x.travis/build_boost.sh35
-rw-r--r--appveyor.yml22
m---------cmake0
9 files changed, 37 insertions, 294 deletions
diff --git a/.appveyor/.gitattributes b/.appveyor/.gitattributes
deleted file mode 100644
index b086bda..0000000
--- a/.appveyor/.gitattributes
+++ /dev/null
@@ -1 +0,0 @@
-*.ps1 text eol=crlf
diff --git a/.appveyor/build.ps1 b/.appveyor/build.ps1
deleted file mode 100644
index 208fab8..0000000
--- a/.appveyor/build.ps1
+++ /dev/null
@@ -1,121 +0,0 @@
-param(
- [string] $BuildDir = $null,
- [string] $ProjectDir = $null,
- [string] $Platform = $null,
- [string] $Generator = $null,
- [string] $Configuration = $null,
- [string] $BoostDir = $null,
- [string] $BoostLibraryDir = $null,
- [bool] $UseAsm = $false
-)
-
-$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:Generator = switch ($env:APPVEYOR_BUILD_WORKER_IMAGE) {
- 'Visual Studio 2013' { 'Visual Studio 12 2013' }
- 'Visual Studio 2015' { 'Visual Studio 14 2015' }
- '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
- $script:UseAsm = -not ($env:appveyor_asm -eq '0')
-}
-
-function Build-Project {
- param(
- [Parameter(Mandatory=$true)]
- [string] $ProjectDir,
- [Parameter(Mandatory=$true)]
- [string] $BuildDir,
- [Parameter(Mandatory=$true)]
- [string] $Generator,
- [Parameter(Mandatory=$true)]
- [string] $Platform,
- [Parameter(Mandatory=$true)]
- [string] $Configuration,
- [Parameter(Mandatory=$true)]
- [string] $BoostDir,
- [string] $BoostLibraryDir = $null,
- [bool] $UseAsm = $false
- )
-
- if (-not $BoostLibraryDir) {
- $BoostLibraryDir = "$BoostDir\stage\lib"
- }
-
- if ($UseAsm) {
- $cmake_asm = 'ON'
- } else {
- $cmake_asm = 'OFF'
- }
-
- mkdir $BuildDir
- cd $BuildDir
-
- Invoke-Exe { cmake.exe `
- -G $Generator -A $Platform `
- -D "AES_TOOLS_ASM=$cmake_asm" `
- -D "BOOST_ROOT=$BoostDir" `
- -D "BOOST_LIBRARYDIR=$BoostLibraryDir" `
- $ProjectDir
- }
-
- Invoke-Exe { cmake.exe --build . --config $Configuration -- /m }
-}
-
-function Build-ProjectAppVeyor {
- if (Test-AppVeyor) {
- Set-AppVeyorDefaults
- $appveyor_cwd = pwd
- }
-
- try {
- Build-Project `
- -ProjectDir $script:ProjectDir `
- -BuildDir $script:BuildDir `
- -Generator $script:Generator `
- -Platform $script:Platform `
- -Configuration $script:Configuration `
- -BoostDir $script:BoostDir `
- -BoostLibraryDir $script:BoostLibraryDir `
- -UseAsm $UseAsm
- } finally {
- if (Test-AppVeyor) {
- cd $appveyor_cwd
- Set-PSDebug -Off
- }
- }
-}
-
-Build-ProjectAppVeyor
diff --git a/.appveyor/test.ps1 b/.appveyor/test.ps1
deleted file mode 100644
index 92212b2..0000000
--- a/.appveyor/test.ps1
+++ /dev/null
@@ -1,102 +0,0 @@
-param(
- [string] $ProjectDir = $null,
- [string] $UtilsDir = $null,
- [string] $PythonDir = $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 Get-AppVeyorUtilsDir {
- $configuration = $env:CONFIGURATION
- return "$(Get-AppVeyorBuildDir)\utils\$configuration"
-}
-
-function Get-AppVeyorPythonDir {
- $platform = $env:PLATFORM
- if ($platform -eq 'x64') {
- return 'C:\Python36-x64'
- } else {
- return 'C:\Python36'
- }
-}
-
-function Set-AppVeyorDefaults {
- $script:ProjectDir = $env:APPVEYOR_BUILD_FOLDER
- $script:UtilsDir = Get-AppVeyorUtilsDir
- $script:PythonDir = Get-AppVeyorPythonDir
-}
-
-function Run-ProjectTests {
- param(
- [Parameter(Mandatory=$true)]
- [string] $ProjectDir,
- [Parameter(Mandatory=$true)]
- [string] $UtilsDir
- )
-
- $test_dir = "$ProjectDir\test"
- cd $test_dir
-
- Invoke-Exe { python.exe nist.py --path $UtilsDir --log nist.log }
- Get-Content nist.log -Tail 5
- Invoke-Exe { python.exe cavp.py --path $UtilsDir --log cavp.log }
- Get-Content cavp.log -Tail 5
- Invoke-Exe { python.exe nist.py --path $UtilsDir --log nist_boxes.log --boxes }
- Get-Content nist_boxes.log -Tail 5
- Invoke-Exe { python.exe cavp.py --path $UtilsDir --log cavp_boxes.log --boxes }
- Get-Content cavp_boxes.log -Tail 5
- Invoke-Exe { python.exe file.py --path $UtilsDir --log file.log }
- Get-Content file.log -Tail 5
-}
-
-function Run-ProjectTestsAppVeyor {
- if (Test-AppVeyor) {
- Set-AppVeyorDefaults
- $appveyor_cwd = pwd
- }
-
- try {
- if ($script:PythonDir) {
- $env:PATH = "${script:PythonDir};${env:PATH}"
- }
-
- Run-ProjectTests `
- -ProjectDir $script:ProjectDir `
- -UtilsDir $script:UtilsDir
- } finally {
- if (Test-AppVeyor) {
- cd $appveyor_cwd
- Set-PSDebug -Off
- }
- }
-}
-
-Run-ProjectTestsAppVeyor
diff --git a/.travis.yml b/.travis.yml
index da10b09..657cbbf 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -10,15 +10,28 @@ addons:
env:
global:
- - boost_version=1.71.0
+ - travis_boost_version=1.71.0
matrix:
- - build_type=debug arch=x86
- - build_type=release arch=x86
- - build_type=debug arch=x64
- - build_type=release arch=x64
+ - configuration=Debug platform=x86
+ - configuration=Release platform=x86
+ - configuration=Debug platform=x64
+ - configuration=Release platform=x64
before_script:
- - ./.travis/build_boost.sh
+ - |-
+ ./cmake/build/boost/build_travis.sh \
+ target-os=windows \
+ --user-config="$TRAVIS_BUILD_DIR/cmake/toolchains/boost/mingw-w64-$platform.jam" \
+ --with-filesystem \
+ --with-program_options \
+ --with-system
script:
- - ./.travis/build.sh
+ - |-
+ ./cmake/build/build_travis.py \
+ --configuration "$configuration" \
+ --install "$HOME/install" \
+ --boost "$HOME/boost_1_71_0" \
+ --toolchain "./cmake/toolchains/mingw-w64-$platform.cmake" \
+ --boost-librarydir "$HOME/boost_1_71_0/stage/$platform/${configuration,,}/lib" \
+ -- -DCMAKE_SYSTEM_NAME=Windows
diff --git a/.travis/.gitattributes b/.travis/.gitattributes
deleted file mode 100644
index dfdb8b7..0000000
--- a/.travis/.gitattributes
+++ /dev/null
@@ -1 +0,0 @@
-*.sh text eol=lf
diff --git a/.travis/build.sh b/.travis/build.sh
deleted file mode 100755
index 902d23a..0000000
--- a/.travis/build.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/env bash
-
-set -o errexit -o nounset -o pipefail -o xtrace
-
-readonly boost_fs="boost_${boost_version//\./_}"
-
-readonly boost_dir="$HOME/$boost_fs"
-readonly boost_librarydir="$boost_dir/stage/$arch/$build_type/lib"
-
-cd -- "$HOME"
-mkdir -- cmake
-cd -- cmake/
-
-cmake \
- -D "CMAKE_BUILD_TYPE=$build_type" \
- -D "CMAKE_TOOLCHAIN_FILE=$TRAVIS_BUILD_DIR/cmake/toolchains/mingw-w64-$arch.cmake" \
- -D "BOOST_ROOT=$boost_dir" \
- -D "BOOST_LIBRARYDIR=$boost_librarydir" \
- -D CMAKE_SYSTEM_NAME=Windows \
- "$TRAVIS_BUILD_DIR"
-
-cmake --build . -- -j
diff --git a/.travis/build_boost.sh b/.travis/build_boost.sh
deleted file mode 100755
index 9efb832..0000000
--- a/.travis/build_boost.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env bash
-
-set -o errexit -o nounset -o pipefail -o xtrace
-
-readonly boost_fs="boost_${boost_version//\./_}"
-readonly boost_url=https://dl.bintray.com/boostorg/release/$boost_version/source/$boost_fs.tar.gz
-
-cd -- "$HOME/"
-
-wget -- "$boost_url"
-tar xzvf "$boost_fs.tar.gz" > /dev/null
-cd -- "$boost_fs/"
-./bootstrap.sh
-
-compiler_prefix=i686
-[ "$arch" = x64 ] && compiler_prefix=x86_64
-
-readonly cxx="$compiler_prefix-w64-mingw32-g++"
-
-echo "using gcc : : $cxx ;" > "user-config-$arch.jam"
-
-address_model=32
-[ "$arch" = x64 ] && address_model=64
-
-./b2 \
- toolset=gcc \
- "address-model=$address_model" \
- target-os=windows \
- link=static \
- variant="$build_type" \
- "--stagedir=stage/$arch/$build_type" \
- "--user-config=user-config-$arch.jam" \
- --with-filesystem \
- --with-program_options \
- --with-system
diff --git a/appveyor.yml b/appveyor.yml
index d58b329..dd492b9 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -6,9 +6,12 @@ image:
- Visual Studio 2019
environment:
+ global:
+ python_exe: C:\Python36-x64\python.exe
+ install_dir: C:\Projects\install
matrix:
- - appveyor_asm: 1
- - appveyor_asm: 0
+ - use_asm: ON
+ - use_asm: OFF
platform:
- Win32
@@ -20,17 +23,26 @@ configuration:
matrix:
exclude:
- - appveyor_asm: 1
+ - use_asm: ON
platform: x64
install:
- git submodule update --init --recursive
build_script:
- - ps: .\.appveyor\build.ps1
+ - '"%python_exe%" cmake\build\build_appveyor.py --install "%install_dir%" --boost "%appveyor_boost_root%" --boost-librarydir "%appveyor_boost_librarydir%" -- "-DAES_TOOLS_ASM=%use_asm%"'
test_script:
- - ps: .\.appveyor\test.ps1
+ - '"%python_exe%" "%APPVEYOR_BUILD_FOLDER%\\test\\nist.py" --path "%install_dir%\bin" --log "%APPVEYOR_BUILD_FOLDER%\test\nist.log"'
+ - ps: Get-Content "$env:APPVEYOR_BUILD_FOLDER\test\nist.log" -Tail 5
+ - '"%python_exe%" "%APPVEYOR_BUILD_FOLDER%\\test\\cavp.py" --path "%install_dir%\bin" --log "%APPVEYOR_BUILD_FOLDER%\test\cavp.log"'
+ - ps: Get-Content "$env:APPVEYOR_BUILD_FOLDER\test\cavp.log" -Tail 5
+ - '"%python_exe%" "%APPVEYOR_BUILD_FOLDER%\\test\\nist.py" --path "%install_dir%\bin" --log "%APPVEYOR_BUILD_FOLDER%\test\nist_boxes.log" --boxes'
+ - ps: Get-Content "$env:APPVEYOR_BUILD_FOLDER\test\nist_boxes.log" -Tail 5
+ - '"%python_exe%" "%APPVEYOR_BUILD_FOLDER%\\test\\cavp.py" --path "%install_dir%\bin" --log "%APPVEYOR_BUILD_FOLDER%\test\cavp_boxes.log" --boxes'
+ - ps: Get-Content "$env:APPVEYOR_BUILD_FOLDER\test\cavp_boxes.log" -Tail 5
+ - '"%python_exe%" "%APPVEYOR_BUILD_FOLDER%\\test\\file.py" --path "%install_dir%\bin" --log "%APPVEYOR_BUILD_FOLDER%\test\file.log"'
+ - ps: Get-Content "$env:APPVEYOR_BUILD_FOLDER\test\file.log" -Tail 5
for:
# Only build Release builds for master to speed things up:
diff --git a/cmake b/cmake
-Subproject 22ecbd5bdaec83f9714d21b1510ddc29d8596bc
+Subproject 77571d71ce48a68cbd6d3a931b89d07e298f3f3