diff options
-rw-r--r-- | .appveyor/build.ps1 | 63 | ||||
-rw-r--r-- | .appveyor/test.ps1 | 22 | ||||
-rw-r--r-- | CMakeLists.txt | 5 | ||||
-rw-r--r-- | appveyor.yml | 6 | ||||
-rw-r--r-- | um/CMakeLists.txt | 4 | ||||
m--------- | um/cmake | 0 |
6 files changed, 16 insertions, 84 deletions
diff --git a/.appveyor/build.ps1 b/.appveyor/build.ps1 index 6ecbf00..40233af 100644 --- a/.appveyor/build.ps1 +++ b/.appveyor/build.ps1 @@ -1,7 +1,5 @@ param( - [string] $BuildDir = $null, [string] $ProjectDir = $null, - [string] $Generator = $null, [string] $Platform = $null, [string] $Configuration = $null, [string] $DriverTargetOS = $null @@ -35,39 +33,11 @@ function Test-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' } - default { throw "Unsupported AppVeyor image: $env:APPVEYOR_BUILD_WORKER_IMAGE" } - } $script:Platform = $env:PLATFORM $script:Configuration = $env:CONFIGURATION $script:DriverTargetOS = $env:appveyor_driver_target_os } -function Build-ProjectUserMode { - 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 - ) - - mkdir $BuildDir - cd $BuildDir - - Invoke-Exe { cmake.exe -G $Generator -A $Platform "$ProjectDir\um" } - Invoke-Exe { cmake.exe --build . --config $Configuration -- /m } -} - function Get-DriverConfiguration { param( [Parameter(Mandatory=$true)] @@ -151,35 +121,6 @@ function Build-ProjectKernelMode { } } -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] $DriverTargetOS - ) - - Build-ProjectUserMode ` - -ProjectDir $ProjectDir ` - -BuildDir $BuildDir ` - -Generator $Generator ` - -Platform $Platform ` - -Configuration $Configuration - Build-ProjectKernelMode ` - -ProjectDir $ProjectDir ` - -Platform $Platform ` - -Configuration $Configuration ` - -DriverTargetOS $DriverTargetOS -} - function Build-ProjectAppVeyor { if (Test-AppVeyor) { Set-AppVeyorDefaults @@ -187,10 +128,8 @@ function Build-ProjectAppVeyor { } try { - Build-Project ` + Build-ProjectKernelMode ` -ProjectDir $script:ProjectDir ` - -BuildDir $script:BuildDir ` - -Generator $script:Generator ` -Platform $script:Platform ` -Configuration $script:Configuration ` -DriverTargetOS $script:DriverTargetOS diff --git a/.appveyor/test.ps1 b/.appveyor/test.ps1 index 3eeebfc..ece8dbe 100644 --- a/.appveyor/test.ps1 +++ b/.appveyor/test.ps1 @@ -1,5 +1,6 @@ param( - [string] $BuildDir = $null, + [Parameter(Mandatory=$true)] + [string] $InstallDir = $null, [string] $ProjectDir = $null, [string] $Configuration = $null, [string] $Platform = $null, @@ -35,24 +36,11 @@ function Test-AppVeyor { function Set-AppVeyorDefaults { $script:ProjectDir = $env:APPVEYOR_BUILD_FOLDER - $script:BuildDir = 'C:\Projects\build' $script:Platform = $env:PLATFORM $script:Configuration = $env:CONFIGURATION $script:DriverTargetOS = $env:appveyor_driver_target_os } -function Add-UtilsPath { - param( - [Parameter(Mandatory=$true)] - [string] $BuildDir, - [Parameter(Mandatory=$true)] - [string] $Configuration - ) - - $env:PATH = "$BuildDir\service\utils\$Configuration;${env:PATH}" - $env:PATH = "$BuildDir\wrappers\simple\utils\$Configuration;${env:PATH}" -} - function Get-DriverName { param( [Parameter(Mandatory=$true)] @@ -189,7 +177,7 @@ function Run-ProjectTests { [Parameter(Mandatory=$true)] [string] $ProjectDir, [Parameter(Mandatory=$true)] - [string] $BuildDir, + [string] $InstallDir, [Parameter(Mandatory=$true)] [string] $Platform, [Parameter(Mandatory=$true)] @@ -198,7 +186,7 @@ function Run-ProjectTests { [string] $DriverTargetOS ) - Add-UtilsPath -BuildDir $BuildDir -Configuration $Configuration + $env:PATH = "$InstallDir\bin;${env:PATH}" $drivers = 'minimal', 'simple', 'special\nt_namespace' @@ -228,7 +216,7 @@ function Run-ProjectTestsAppVeyor { try { Run-ProjectTests ` -ProjectDir $script:ProjectDir ` - -BuildDir $script:BuildDir ` + -InstallDir $script:InstallDir ` -Platform $script:Platform ` -Configuration $script:Configuration ` -DriverTargetOS $script:DriverTargetOS diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..425d711 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,5 @@ +cmake_minimum_required(VERSION 3.1) + +project(win7drv CXX) + +add_subdirectory(um) diff --git a/appveyor.yml b/appveyor.yml index 0294159..f3c3b1e 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -9,6 +9,9 @@ image: Visual Studio 2013 # - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) environment: + global: + python_exe: C:\Python36-x64\python.exe + install_dir: C:\Projects\install\win7drv matrix: - appveyor_driver_target_os: Win7 - appveyor_driver_target_os: Win8 @@ -26,6 +29,7 @@ install: - git submodule update --init --recursive build_script: + - '"%python_exe%" um/cmake/ci/build_appveyor.py --install "%install_dir%"' - ps: .\.appveyor\build.ps1 for: @@ -50,4 +54,4 @@ for: - ps: Start-Sleep -s 10 - appveyor.exe AddMessage "OK" test_script: - - ps: .\.appveyor\test.ps1 + - ps: .\.appveyor\test.ps1 -InstallDir $env:install_dir diff --git a/um/CMakeLists.txt b/um/CMakeLists.txt index 70336dc..b5df409 100644 --- a/um/CMakeLists.txt +++ b/um/CMakeLists.txt @@ -1,7 +1,3 @@ -cmake_minimum_required(VERSION 3.1) - -project(win7drv CXX) - # WIN32_LEAN_AND_MEAN shouldn't be defined, it masks CTL_CODE: set(CC_WINDOWS_DEF OFF) diff --git a/um/cmake b/um/cmake -Subproject 22ecbd5bdaec83f9714d21b1510ddc29d8596bc +Subproject f1b56311d06aa2371779a34aae0be55e7bb1c1f |