version: "{build}" clone_depth: 5 platform: - x64 - x86 configuration: - Release matrix: fast_finish: true install: - cmd: python -m pip install PyYAML build_script: # C:\projects\duktape # https://en.wikipedia.org/wiki/Microsoft_Visual_Studio#History #- cmd: set #- cmd: dir "C:\Program Files\" #- cmd: dir "C:\Program Files (x86)\" # Make dist. - cmd: cd C:\projects\duktape - cmd: python util\make_dist.py # --- Visual Studio 2015 --- # PATH doesn't include any 'cl' by default, not sure how to do this correctly. # https://msdn.microsoft.com/en-us/library/f2ccy3wt.aspx # Multi-line commands are run line-by-line (?). - cmd: set VCPATH="\Program Files (x86)\Microsoft Visual Studio 14.0\VC" - cmd: set VCPLATFORM=NONE - cmd: set VCNAME=vs2015 - cmd: if "%PLATFORM%"=="x86" ( set VCPLATFORM=x86 ) - cmd: if "%PLATFORM%"=="x64" ( set VCPLATFORM=x86_amd64 ) - cmd: echo PLATFORM=%PLATFORM%, VCPLATFORM=%VCPLATFORM% - cmd: "%VCPATH%\\vcvarsall %VCPLATFORM%" - cmd: cl # Normal build. - cmd: cl /W3 /O2 /Idist\src /Idist\examples\cmdline dist\src\duktape.c dist\examples\cmdline\duk_cmdline.c /Feduk-%VCNAME%-%PLATFORM%.exe # DLL build. - cmd: cl /W3 /O2 /DDUK_OPT_DLL_BUILD /Idist\src /LD /Feduktape-%VCNAME%-%PLATFORM% dist\src\duktape.c - cmd: cl /W3 /O2 /DDUK_OPT_DLL_BUILD /Idist\src /Idist\examples\cmdline dist\examples\cmdline\duk_cmdline.c /Feduk-dll-%VCNAME%-%PLATFORM%.exe duktape-%VCNAME%-%PLATFORM%.lib # Build as C++, catches some static variable issues specific to C++. # Also test C++ exceptions on Windows. # /TP forces files to be interpreted as C++ despite their extension. # /EHsc enables exception unwind support. - cmd: cl /TP /EHsc /W3 /O2 /DDUK_OPT_CPP_EXCEPTIONS /Idist\src /Idist\examples\cmdline dist\src\duktape.c dist\examples\cmdline\duk_cmdline.c /Feduk-cxx-%VCNAME%-%PLATFORM%.exe # --- Visual Studio 2013 --- - cmd: set VCPATH="\Program Files (x86)\Microsoft Visual Studio 12.0\VC" - cmd: set VCPLATFORM=NONE - cmd: set VCNAME=vs2013 - cmd: if "%PLATFORM%"=="x86" ( set VCPLATFORM=x86 ) - cmd: if "%PLATFORM%"=="x64" ( set VCPLATFORM=x86_amd64 ) - cmd: echo PLATFORM=%PLATFORM%, VCPLATFORM=%VCPLATFORM% - cmd: "%VCPATH%\\vcvarsall %VCPLATFORM%" - cmd: cl - cmd: cl /W3 /O2 /Idist\src /Idist\examples\cmdline dist\src\duktape.c dist\examples\cmdline\duk_cmdline.c /Feduk-%VCNAME%-%PLATFORM%.exe - cmd: cl /W3 /O2 /DDUK_OPT_DLL_BUILD /Idist\src /LD /Feduktape-%VCNAME%-%PLATFORM% dist\src\duktape.c - cmd: cl /W3 /O2 /DDUK_OPT_DLL_BUILD /Idist\src /Idist\examples\cmdline dist\examples\cmdline\duk_cmdline.c /Feduk-dll-%VCNAME%-%PLATFORM%.exe duktape-%VCNAME%-%PLATFORM%.lib - cmd: cl /TP /EHsc /W3 /O2 /DDUK_OPT_CPP_EXCEPTIONS /Idist\src /Idist\examples\cmdline dist\src\duktape.c dist\examples\cmdline\duk_cmdline.c /Feduk-cxx-%VCNAME%-%PLATFORM%.exe # --- Visual Studio 2012 --- # Use VS2012 (11.0) to catch https://github.com/svaarala/duktape/pull/595. - cmd: set VCPATH="\Program Files (x86)\Microsoft Visual Studio 11.0\VC" - cmd: set VCPLATFORM=NONE - cmd: set VCNAME=vs2012 - cmd: if "%PLATFORM%"=="x86" ( set VCPLATFORM=x86 ) - cmd: if "%PLATFORM%"=="x64" ( set VCPLATFORM=x86_amd64 ) - cmd: echo PLATFORM=%PLATFORM%, VCPLATFORM=%VCPLATFORM% - cmd: "%VCPATH%\\vcvarsall %VCPLATFORM%" - cmd: cl - cmd: cl /W3 /O2 /Idist\src /Idist\examples\cmdline dist\src\duktape.c dist\examples\cmdline\duk_cmdline.c /Feduk-%VCNAME%-%PLATFORM%.exe - cmd: cl /W3 /O2 /DDUK_OPT_DLL_BUILD /Idist\src /LD /Feduktape-%VCNAME%-%PLATFORM% dist\src\duktape.c - cmd: cl /W3 /O2 /DDUK_OPT_DLL_BUILD /Idist\src /Idist\examples\cmdline dist\examples\cmdline\duk_cmdline.c /Feduk-dll-%VCNAME%-%PLATFORM%.exe duktape-%VCNAME%-%PLATFORM%.lib - cmd: cl /TP /EHsc /W3 /O2 /DDUK_OPT_CPP_EXCEPTIONS /Idist\src /Idist\examples\cmdline dist\src\duktape.c dist\examples\cmdline\duk_cmdline.c /Feduk-cxx-%VCNAME%-%PLATFORM%.exe # --- Visual Studio 2010 --- - cmd: set VCPATH="\Program Files (x86)\Microsoft Visual Studio 10.0\VC" - cmd: set VCPLATFORM=NONE - cmd: set VCNAME=vs2010 - cmd: if "%PLATFORM%"=="x86" ( set VCPLATFORM=x86 ) - cmd: if "%PLATFORM%"=="x64" ( set VCPLATFORM=x86_amd64 ) - cmd: echo PLATFORM=%PLATFORM%, VCPLATFORM=%VCPLATFORM% - cmd: "%VCPATH%\\vcvarsall %VCPLATFORM%" - cmd: cl - cmd: cl /W3 /O2 /Idist\src /Idist\examples\cmdline dist\src\duktape.c dist\examples\cmdline\duk_cmdline.c /Feduk-%VCNAME%-%PLATFORM%.exe - cmd: cl /W3 /O2 /DDUK_OPT_DLL_BUILD /Idist\src /LD /Feduktape-%VCNAME%-%PLATFORM% dist\src\duktape.c - cmd: cl /W3 /O2 /DDUK_OPT_DLL_BUILD /Idist\src /Idist\examples\cmdline dist\examples\cmdline\duk_cmdline.c /Feduk-dll-%VCNAME%-%PLATFORM%.exe duktape-%VCNAME%-%PLATFORM%.lib - cmd: cl /TP /EHsc /W3 /O2 /DDUK_OPT_CPP_EXCEPTIONS /Idist\src /Idist\examples\cmdline dist\src\duktape.c dist\examples\cmdline\duk_cmdline.c /Feduk-cxx-%VCNAME%-%PLATFORM%.exe # --- Visual Studio 2008 --- - cmd: set VCPATH="\Program Files (x86)\Microsoft Visual Studio 9.0\VC" - cmd: set VCPLATFORM=NONE - cmd: set VCNAME=vs2008 - cmd: if "%PLATFORM%"=="x86" ( set VCPLATFORM=x86 ) - cmd: if "%PLATFORM%"=="x64" ( set VCPLATFORM=x86_amd64 ) - cmd: echo PLATFORM=%PLATFORM%, VCPLATFORM=%VCPLATFORM% - cmd: "%VCPATH%\\vcvarsall %VCPLATFORM%" - cmd: cl - cmd: cl /W3 /O2 /Idist\src /Idist\examples\cmdline dist\src\duktape.c dist\examples\cmdline\duk_cmdline.c /Feduk-%VCNAME%-%PLATFORM%.exe - cmd: cl /W3 /O2 /DDUK_OPT_DLL_BUILD /Idist\src /LD /Feduktape-%VCNAME%-%PLATFORM% dist\src\duktape.c - cmd: cl /W3 /O2 /DDUK_OPT_DLL_BUILD /Idist\src /Idist\examples\cmdline dist\examples\cmdline\duk_cmdline.c /Feduk-dll-%VCNAME%-%PLATFORM%.exe duktape-%VCNAME%-%PLATFORM%.lib - cmd: cl /TP /EHsc /W3 /O2 /DDUK_OPT_CPP_EXCEPTIONS /Idist\src /Idist\examples\cmdline dist\src\duktape.c dist\examples\cmdline\duk_cmdline.c /Feduk-cxx-%VCNAME%-%PLATFORM%.exe test_script: - cmd: echo --- VS2015 - cmd: duk-vs2015-%PLATFORM%.exe -e "print(Duktape.env); print('Hello world!');" - cmd: duk-dll-vs2015-%PLATFORM%.exe -e "print(Duktape.env); print('Hello world!');" - cmd: duk-cxx-vs2015-%PLATFORM%.exe -e "print(Duktape.env); print('Hello world!');" - cmd: echo --- VS2013 - cmd: duk-vs2013-%PLATFORM%.exe -e "print(Duktape.env); print('Hello world!');" - cmd: duk-dll-vs2013-%PLATFORM%.exe -e "print(Duktape.env); print('Hello world!');" - cmd: duk-cxx-vs2013-%PLATFORM%.exe -e "print(Duktape.env); print('Hello world!');" - cmd: echo --- VS2012 - cmd: duk-vs2012-%PLATFORM%.exe -e "print(Duktape.env); print('Hello world!');" - cmd: duk-dll-vs2012-%PLATFORM%.exe -e "print(Duktape.env); print('Hello world!');" - cmd: duk-cxx-vs2012-%PLATFORM%.exe -e "print(Duktape.env); print('Hello world!');" - cmd: echo --- VS2010 - cmd: duk-vs2010-%PLATFORM%.exe -e "print(Duktape.env); print('Hello world!');" - cmd: duk-dll-vs2010-%PLATFORM%.exe -e "print(Duktape.env); print('Hello world!');" - cmd: duk-cxx-vs2010-%PLATFORM%.exe -e "print(Duktape.env); print('Hello world!');" - cmd: echo --- VS2008 - cmd: duk-vs2008-%PLATFORM%.exe -e "print(Duktape.env); print('Hello world!');" - cmd: duk-dll-vs2008-%PLATFORM%.exe -e "print(Duktape.env); print('Hello world!');" - cmd: duk-cxx-vs2008-%PLATFORM%.exe -e "print(Duktape.env); print('Hello world!');" after_build: # Show what was built. - cmd: dir artifacts: - path: duk-*.exe name: Duk command line binary - path: duktape-*.dll name: Duktape DLL - path: duktape-*.exp name: Duktape EXP - path: duktape-*.lib name: Duktape LIB