mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-24 06:05:10 +00:00
6519388f5c
Building with the (VS2017) /permissive- flag puts the compiler into stricter standards-compliant mode. It shouldn't cause the compiler to work differently--it just disallows some non-conforming code--so should be perfectly fine for the test suite under all VS2017 builds. This commit also fixes one failure under non-permissive mode.
68 lines
2.2 KiB
YAML
68 lines
2.2 KiB
YAML
version: 1.0.{build}
|
|
image:
|
|
- Visual Studio 2017
|
|
- Visual Studio 2015
|
|
test: off
|
|
build:
|
|
parallel: true
|
|
platform:
|
|
- x64
|
|
- x86
|
|
environment:
|
|
matrix:
|
|
- PYTHON: 36
|
|
CPP: 14
|
|
CONFIG: Debug
|
|
- PYTHON: 27
|
|
CPP: 14
|
|
CONFIG: Debug
|
|
- CONDA: 36
|
|
CPP: latest
|
|
CONFIG: Release
|
|
matrix:
|
|
exclude:
|
|
- image: Visual Studio 2015
|
|
platform: x86
|
|
- image: Visual Studio 2015
|
|
CPP: latest
|
|
- image: Visual Studio 2017
|
|
CPP: latest
|
|
platform: x86
|
|
install:
|
|
- ps: |
|
|
if ($env:PLATFORM -eq "x64") { $env:CMAKE_ARCH = "x64" }
|
|
if ($env:APPVEYOR_JOB_NAME -like "*Visual Studio 2017*") {
|
|
$env:CMAKE_GENERATOR = "Visual Studio 15 2017"
|
|
$env:CMAKE_INCLUDE_PATH = "C:\Libraries\boost_1_64_0"
|
|
$env:CXXFLAGS = "-permissive-"
|
|
} else {
|
|
$env:CMAKE_GENERATOR = "Visual Studio 14 2015"
|
|
}
|
|
if ($env:PYTHON) {
|
|
if ($env:PLATFORM -eq "x64") { $env:PYTHON = "$env:PYTHON-x64" }
|
|
$env:PATH = "C:\Python$env:PYTHON\;C:\Python$env:PYTHON\Scripts\;$env:PATH"
|
|
pip install --disable-pip-version-check --user --upgrade pip wheel
|
|
pip install pytest numpy
|
|
} elseif ($env:CONDA) {
|
|
if ($env:CONDA -eq "27") { $env:CONDA = "" }
|
|
if ($env:PLATFORM -eq "x64") { $env:CONDA = "$env:CONDA-x64" }
|
|
$env:PATH = "C:\Miniconda$env:CONDA\;C:\Miniconda$env:CONDA\Scripts\;$env:PATH"
|
|
$env:PYTHONHOME = "C:\Miniconda$env:CONDA"
|
|
conda install -y -q pytest numpy scipy
|
|
}
|
|
- ps: |
|
|
Start-FileDownload 'http://bitbucket.org/eigen/eigen/get/3.3.3.zip'
|
|
7z x 3.3.3.zip -y > $null
|
|
$env:CMAKE_INCLUDE_PATH = "eigen-eigen-67e894c6cd8f;$env:CMAKE_INCLUDE_PATH"
|
|
build_script:
|
|
- cmake -G "%CMAKE_GENERATOR%" -A "%CMAKE_ARCH%"
|
|
-DPYBIND11_CPP_STANDARD=/std:c++%CPP%
|
|
-DPYBIND11_WERROR=ON
|
|
-DDOWNLOAD_CATCH=ON
|
|
-DCMAKE_SUPPRESS_REGENERATION=1
|
|
- set MSBuildLogger="C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
|
|
- cmake --build . --config %CONFIG% --target pytest -- /m /v:m /logger:%MSBuildLogger%
|
|
- cmake --build . --config %CONFIG% --target cpptest -- /m /v:m /logger:%MSBuildLogger%
|
|
- if "%CPP%"=="latest" (cmake --build . --config %CONFIG% --target test_cmake_build -- /m /v:m /logger:%MSBuildLogger%)
|
|
on_failure: if exist "tests\test_cmake_build" type tests\test_cmake_build\*.log*
|