diff options
author | Egor Tensin <Egor.Tensin@gmail.com> | 2019-12-10 15:35:10 +0300 |
---|---|---|
committer | Egor Tensin <Egor.Tensin@gmail.com> | 2019-12-10 16:45:48 +0300 |
commit | ebd9daaca4210f21ff0f911dc5bdc208b4646ac2 (patch) | |
tree | d36b9c45aa2c8dbe8215dae66c549871b8ecd6b7 | |
parent | utils: add install rules (diff) | |
download | aes-tools-ebd9daaca4210f21ff0f911dc5bdc208b4646ac2.tar.gz aes-tools-ebd9daaca4210f21ff0f911dc5bdc208b4646ac2.zip |
AppVeyor/Travis: switch to cmake/build
-rw-r--r-- | .appveyor/.gitattributes | 1 | ||||
-rw-r--r-- | .appveyor/build.ps1 | 121 | ||||
-rw-r--r-- | .appveyor/test.ps1 | 102 | ||||
-rw-r--r-- | .travis.yml | 27 | ||||
-rw-r--r-- | .travis/.gitattributes | 1 | ||||
-rwxr-xr-x | .travis/build.sh | 22 | ||||
-rwxr-xr-x | .travis/build_boost.sh | 35 | ||||
-rw-r--r-- | appveyor.yml | 22 | ||||
m--------- | cmake | 0 |
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 |