diff --git a/.appveyor.yml b/.appveyor.yml new file mode 100644 index 0000000..5f17e37 --- /dev/null +++ b/.appveyor.yml @@ -0,0 +1,56 @@ +# adapted from https://packaging.python.org/en/latest/appveyor/ + + +environment: + # we tell Tox to use "twisted[windows]", to get pypiwin32 installed + #TWISTED_EXTRAS: "[windows]" + # that didn't work (it seems to work when I run it locally, but on appveyor + # it fails to install the pypiwin32 package). So don't bother telling + # Twisted to support windows: just install it ourselves. + # EXTRA_DEPENDENCY: "pypiwin32" + matrix: + # For Python versions available on Appveyor, see + # http://www.appveyor.com/docs/installed-software#python + - PYTHON: "C:\\Python27" + - PYTHON: "C:\\Python27-x64" + DISTUTILS_USE_SDK: "1" + - PYTHON: "C:\\Python34" + - PYTHON: "C:\\Python35" + - PYTHON: "C:\\Python36" + - PYTHON: "C:\\Python36-x64" + +install: + - | + %PYTHON%\python.exe -m pip install wheel tox + +# note: +# %PYTHON% has: python.exe +# %PYTHON%\Scripts has: pip.exe, tox.exe (and others installed by bare pip) + + +build: off + +test_script: + # Put your test command here. + # Note that you must use the environment variable %PYTHON% to refer to + # the interpreter you're using - Appveyor does not do anything special + # to put the Python evrsion you want to use on PATH. + - | + misc\windows-build.cmd %PYTHON%\Scripts\tox.exe -e py + +after_test: + # This step builds your wheels. + # Again, you only need build.cmd if you're building C extensions for + # 64-bit Python 3.3/3.4. And you need to use %PYTHON% to get the correct + # interpreter + - | + misc\windows-build.cmd %PYTHON%\python.exe setup.py bdist_wheel + +artifacts: + # bdist_wheel puts your built wheel in the dist directory + - path: dist\* + +#on_success: +# You can use this step to upload your artifacts to a public website. +# See Appveyor's documentation for more details. Or you can simply +# access your wheels from the Appveyor "artifacts" tab for your build. diff --git a/misc/windows-build.cmd b/misc/windows-build.cmd new file mode 100644 index 0000000..243dc9a --- /dev/null +++ b/misc/windows-build.cmd @@ -0,0 +1,21 @@ +@echo off +:: To build extensions for 64 bit Python 3, we need to configure environment +:: variables to use the MSVC 2010 C++ compilers from GRMSDKX_EN_DVD.iso of: +:: MS Windows SDK for Windows 7 and .NET Framework 4 +:: +:: More details at: +:: https://github.com/cython/cython/wiki/64BitCythonExtensionsOnWindows + +IF "%DISTUTILS_USE_SDK%"=="1" ( + ECHO Configuring environment to build with MSVC on a 64bit architecture + ECHO Using Windows SDK 7.1 + "C:\Program Files\Microsoft SDKs\Windows\v7.1\Setup\WindowsSdkVer.exe" -q -version:v7.1 + CALL "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 /release + SET MSSdk=1 + REM Need the following to allow tox to see the SDK compiler + SET TOX_TESTENV_PASSENV=DISTUTILS_USE_SDK MSSdk INCLUDE LIB +) ELSE ( + ECHO Using default MSVC build environment +) + +CALL %*