|  | @@ -1,191 +1,192 @@
 | 
	
		
			
				|  |  | -version: '{build}'
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -configuration:
 | 
	
		
			
				|  |  | -  - Release
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -platform:
 | 
	
		
			
				|  |  | -  - x86
 | 
	
		
			
				|  |  | -  - x64
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -environment:
 | 
	
		
			
				|  |  | -  enable_cxx: NO
 | 
	
		
			
				|  |  | -  enable_ssl_dynamic_loading: YES
 | 
	
		
			
				|  |  | -  enable_lua: NO
 | 
	
		
			
				|  |  | -  enable_lua_shared: NO
 | 
	
		
			
				|  |  | -  c_standard: auto
 | 
	
		
			
				|  |  | -  cxx_standard: auto  
 | 
	
		
			
				|  |  | -  matrix:
 | 
	
		
			
				|  |  | -    - compiler: msvc-18-seh
 | 
	
		
			
				|  |  | -      build_shared: NO
 | 
	
		
			
				|  |  | -      no_files: NO
 | 
	
		
			
				|  |  | -      enable_ipv6: NO
 | 
	
		
			
				|  |  | -      enable_ssl: YES
 | 
	
		
			
				|  |  | -      enable_websockets: YES
 | 
	
		
			
				|  |  | -      no_cgi: NO
 | 
	
		
			
				|  |  | -    - compiler: msvc-18-seh
 | 
	
		
			
				|  |  | -      build_shared: YES
 | 
	
		
			
				|  |  | -      no_files: NO
 | 
	
		
			
				|  |  | -      enable_ipv6: NO
 | 
	
		
			
				|  |  | -      enable_ssl: YES
 | 
	
		
			
				|  |  | -      enable_websockets: YES
 | 
	
		
			
				|  |  | -      no_cgi: NO
 | 
	
		
			
				|  |  | -    - compiler: msvc-18-seh
 | 
	
		
			
				|  |  | -      build_shared: YES
 | 
	
		
			
				|  |  | -      no_files: YES
 | 
	
		
			
				|  |  | -      enable_ipv6: NO
 | 
	
		
			
				|  |  | -      enable_ssl: YES
 | 
	
		
			
				|  |  | -      enable_websockets: YES
 | 
	
		
			
				|  |  | -      no_cgi: NO
 | 
	
		
			
				|  |  | -    - compiler: gcc-5.1.0-posix
 | 
	
		
			
				|  |  | -      build_shared: NO
 | 
	
		
			
				|  |  | -      no_files: YES
 | 
	
		
			
				|  |  | -      enable_ipv6: NO
 | 
	
		
			
				|  |  | -      enable_ssl: NO
 | 
	
		
			
				|  |  | -      enable_websockets: NO
 | 
	
		
			
				|  |  | -      no_cgi: YES
 | 
	
		
			
				|  |  | -    - compiler: gcc-5.1.0-posix
 | 
	
		
			
				|  |  | -      build_shared: NO
 | 
	
		
			
				|  |  | -      no_files: NO
 | 
	
		
			
				|  |  | -      enable_ipv6: YES
 | 
	
		
			
				|  |  | -      enable_ssl: YES
 | 
	
		
			
				|  |  | -      enable_websockets: YES
 | 
	
		
			
				|  |  | -      no_cgi: NO
 | 
	
		
			
				|  |  | -    - compiler: gcc-5.1.0-posix
 | 
	
		
			
				|  |  | -      build_shared: NO
 | 
	
		
			
				|  |  | -      no_files: NO
 | 
	
		
			
				|  |  | -      enable_ipv6: NO
 | 
	
		
			
				|  |  | -      enable_ssl: YES
 | 
	
		
			
				|  |  | -      enable_websockets: YES
 | 
	
		
			
				|  |  | -      no_cgi: NO
 | 
	
		
			
				|  |  | -    - compiler: gcc-5.1.0-posix
 | 
	
		
			
				|  |  | -      build_shared: YES
 | 
	
		
			
				|  |  | -      no_files: NO
 | 
	
		
			
				|  |  | -      enable_ipv6: NO
 | 
	
		
			
				|  |  | -      enable_ssl: YES
 | 
	
		
			
				|  |  | -      enable_websockets: YES
 | 
	
		
			
				|  |  | -      no_cgi: NO
 | 
	
		
			
				|  |  | -    - compiler: gcc-5.1.0-posix
 | 
	
		
			
				|  |  | -      build_shared: YES
 | 
	
		
			
				|  |  | -      no_files: YES
 | 
	
		
			
				|  |  | -      enable_ipv6: NO
 | 
	
		
			
				|  |  | -      enable_ssl: YES
 | 
	
		
			
				|  |  | -      enable_websockets: YES
 | 
	
		
			
				|  |  | -      no_cgi: NO
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -install:
 | 
	
		
			
				|  |  | -  # Derive some extra information
 | 
	
		
			
				|  |  | -  - set build_type=%configuration%
 | 
	
		
			
				|  |  | -  - for /f "tokens=1-3 delims=-" %%a in ("%compiler%") do (@set "compiler_name=%%a")
 | 
	
		
			
				|  |  | -  - for /f "tokens=1-3 delims=-" %%a in ("%compiler%") do (@set "compiler_version=%%b")
 | 
	
		
			
				|  |  | -  - for /f "tokens=1-3 delims=-" %%a in ("%compiler%") do (@set "compiler_threading=%%c")
 | 
	
		
			
				|  |  | -  - if "%platform%"=="x64" (set arch=x86_64)
 | 
	
		
			
				|  |  | -  - if "%platform%"=="x86" (set arch=i686)
 | 
	
		
			
				|  |  | -  # Download the specific version of MinGW
 | 
	
		
			
				|  |  | -  - if "%compiler_name%"=="gcc" (@set "mingw_output_folder=C:\mingw-builds")
 | 
	
		
			
				|  |  | -  - if "%compiler_name%"=="gcc" (
 | 
	
		
			
				|  |  | -      @for /f %%a in (
 | 
	
		
			
				|  |  | -        'call mingw.cmd
 | 
	
		
			
				|  |  | -          /version "%compiler_version%"
 | 
	
		
			
				|  |  | -          /arch "%arch%"
 | 
	
		
			
				|  |  | -          /threading "%compiler_threading%"
 | 
	
		
			
				|  |  | -          "%mingw_output_folder%"'
 | 
	
		
			
				|  |  | -      ) do @set "compiler_path=%%a"
 | 
	
		
			
				|  |  | -    )
 | 
	
		
			
				|  |  | -  - if "%compiler_name%"=="gcc" (@set "mingw_log_folder=%mingw_output_folder%\logs")
 | 
	
		
			
				|  |  | -  - if exist "%mingw_log_folder%" @for /f %%f in ('dir /b /oD /tc "%mingw_log_folder%"') do @set "mingw_log_file=%mingw_log_folder%\%%f"
 | 
	
		
			
				|  |  | -  - if exist "%mingw_log_file%" powershell Push-AppveyorArtifact "%mingw_log_file%" -FileName mingw-download.log
 | 
	
		
			
				|  |  | -  # Get OpenSSL
 | 
	
		
			
				|  |  | -  - if not exist C:\ssl\ (md C:\ssl\)
 | 
	
		
			
				|  |  | -  - if not exist C:\ssl\Win32OpenSSL.exe (curl http://slproweb.com/download/Win32OpenSSL-1_0_2d.exe -o C:\ssl\Win32OpenSSL.exe)
 | 
	
		
			
				|  |  | -  - if not exist C:\ssl\Win64OpenSSL.exe (curl http://slproweb.com/download/Win64OpenSSL-1_0_2d.exe -o C:\ssl\Win64OpenSSL.exe)
 | 
	
		
			
				|  |  | -  - C:\ssl\Win32OpenSSL.exe /SILENT /LOG="C:\ssl\install32.log"
 | 
	
		
			
				|  |  | -  - C:\ssl\Win64OpenSSL.exe /SILENT /LOG="C:\ssl\install64.log"
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -before_build:
 | 
	
		
			
				|  |  | -  # Set up mingw commands
 | 
	
		
			
				|  |  | -  - if "%compiler_name%"=="gcc" (set "generator=MinGW Makefiles")
 | 
	
		
			
				|  |  | -  - if "%compiler_name%"=="gcc" (set "build=mingw32-make -j4")
 | 
	
		
			
				|  |  | -  - if "%compiler_name%"=="gcc" (set "test=mingw32-make CTEST_OUTPUT_ON_FAILURE=1 test")
 | 
	
		
			
				|  |  | -  # MSVC specific commands
 | 
	
		
			
				|  |  | -  # Note: The minimum version officially supported for CivetWeb is VS2010. Older ones might work or not.
 | 
	
		
			
				|  |  | -  - if "%compiler_version%"=="14" (set "vs_version=8" & set "vs_year=2005")
 | 
	
		
			
				|  |  | -  - if "%compiler_version%"=="15" (set "vs_version=9" & set "vs_year=2008")
 | 
	
		
			
				|  |  | -  - if "%compiler_version%"=="16" (set "vs_version=10" & set "vs_year=2010")
 | 
	
		
			
				|  |  | -  - if "%compiler_version%"=="17" (set "vs_version=11" & set "vs_year=2012")
 | 
	
		
			
				|  |  | -  - if "%compiler_version%"=="18" (set "vs_version=12" & set "vs_year=2013")
 | 
	
		
			
				|  |  | -  - if "%compiler_version%"=="19" (set "vs_version=14" & set "vs_year=2015")
 | 
	
		
			
				|  |  | -  - if "%compiler_name%"=="msvc" (set "generator=Visual Studio %vs_version% %vs_year%")
 | 
	
		
			
				|  |  | -  - if "%compiler_name%"=="msvc" (
 | 
	
		
			
				|  |  | -      if "%platform%"=="x64" (
 | 
	
		
			
				|  |  | -        set "generator=%generator% Win64"
 | 
	
		
			
				|  |  | -      )
 | 
	
		
			
				|  |  | -    )
 | 
	
		
			
				|  |  | -  - if %compiler_version% gtr 9 (set platform=%platform:x86=Win32%)
 | 
	
		
			
				|  |  | -  - if "%compiler_name%"=="msvc" (set "msbuild_opts=/clp:OnlyErrors;OnlyWarnings /nologo /m /v:m")
 | 
	
		
			
				|  |  | -  - if "%compiler_name%"=="msvc" (set "build=msbuild %msbuild_opts% /p:Configuration=%configuration% /p:Platform=%platform% civetweb.sln")
 | 
	
		
			
				|  |  | -  - if "%compiler_name%"=="msvc" (set "test=msbuild %msbuild_opts% RUN_TESTS.vcxproj")
 | 
	
		
			
				|  |  | -  # Add the compiler path if needed
 | 
	
		
			
				|  |  | -  - if not "%compiler_path%"=="" (set "PATH=%PATH%;%compiler_path%")
 | 
	
		
			
				|  |  | -  # git bash conflicts with MinGW makefiles
 | 
	
		
			
				|  |  | -  - if "%generator%"=="MinGW Makefiles" (set "PATH=%PATH:C:\Program Files (x86)\Git\bin=%")
 | 
	
		
			
				|  |  | -  # Useful locations
 | 
	
		
			
				|  |  | -  - set "source_path=%cd%"
 | 
	
		
			
				|  |  | -  - set "output_path=%source_path%\output"
 | 
	
		
			
				|  |  | -  - set "build_path=%output_path%\build"
 | 
	
		
			
				|  |  | -  - set "install_path=%output_path%\install"
 | 
	
		
			
				|  |  | -  - set "third_party_dir=C:\third-party"
 | 
	
		
			
				|  |  | -  # Check some settings of the build server
 | 
	
		
			
				|  |  | -  - ver
 | 
	
		
			
				|  |  | -  - cd
 | 
	
		
			
				|  |  | -  - dir
 | 
	
		
			
				|  |  | -  - ipconfig /all
 | 
	
		
			
				|  |  | -  # Generate the build scripts with CMake
 | 
	
		
			
				|  |  | -  - mkdir "%build_path%"
 | 
	
		
			
				|  |  | -  - cd "%build_path%"
 | 
	
		
			
				|  |  | -  - cmake --version
 | 
	
		
			
				|  |  | -  - appveyor AddMessage -Category Information "Generating '%generator%'"
 | 
	
		
			
				|  |  | -  - cmake
 | 
	
		
			
				|  |  | -    -G "%generator%"
 | 
	
		
			
				|  |  | -    -DCMAKE_BUILD_TYPE=%build_type%
 | 
	
		
			
				|  |  | -    -DBUILD_SHARED_LIBS=%build_shared%
 | 
	
		
			
				|  |  | -    -DCIVETWEB_SERVE_NO_FILES=%no_files%
 | 
	
		
			
				|  |  | -    "-DCIVETWEB_THIRD_PARTY_DIR=%third_party_dir:\=\\%"
 | 
	
		
			
				|  |  | -    -DCIVETWEB_ENABLE_THIRD_PARTY_OUTPUT=YES
 | 
	
		
			
				|  |  | -    -DCIVETWEB_ENABLE_SSL=%enable_ssl%
 | 
	
		
			
				|  |  | -    -DCIVETWEB_DISABLE_CGI=%no_cgi%
 | 
	
		
			
				|  |  | -    -DCIVETWEB_ENABLE_SSL_DYNAMIC_LOADING=%enable_ssl_dynamic_loading%
 | 
	
		
			
				|  |  | -    -DCIVETWEB_ENABLE_WEBSOCKETS=%enable_websockets%
 | 
	
		
			
				|  |  | -    -DCIVETWEB_ENABLE_CXX=%enable_cxx%
 | 
	
		
			
				|  |  | -    -DCIVETWEB_ENABLE_LUA=%enable_lua%
 | 
	
		
			
				|  |  | -    -DCIVETWEB_ENABLE_LUA_SHARED=%enable_lua_shared%
 | 
	
		
			
				|  |  | -    -DCIVETWEB_C_STANDARD=%c_standard%
 | 
	
		
			
				|  |  | -    -DCIVETWEB_CXX_STANDARD=%cxx_standard%
 | 
	
		
			
				|  |  | -    "%source_path%"
 | 
	
		
			
				|  |  | -  - powershell Push-AppveyorArtifact CMakeCache.txt
 | 
	
		
			
				|  |  | -  - cd "%source_path%"
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -build_script:
 | 
	
		
			
				|  |  | -  - cd
 | 
	
		
			
				|  |  | -  - cd "%build_path%"
 | 
	
		
			
				|  |  | -  - appveyor AddMessage -Category Information "Build command '%build%'"
 | 
	
		
			
				|  |  | -  - cmd /c "%build%"
 | 
	
		
			
				|  |  | -  - cd "%source_path%"
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -test_script:   
 | 
	
		
			
				|  |  | -  - cd "%build_path%"
 | 
	
		
			
				|  |  | -  - appveyor AddMessage -Category Information "Test command '%build%'"
 | 
	
		
			
				|  |  | -  - cmd /c "%test%"
 | 
	
		
			
				|  |  | -  - cd "%source_path%"
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -after_test:
 | 
	
		
			
				|  |  | -  - cmake "-DCMAKE_INSTALL_PREFIX=%install_path%" -P "%build_path%/cmake_install.cmake"
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -matrix:
 | 
	
		
			
				|  |  | -  fast_finish: true
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -cache:
 | 
	
		
			
				|  |  | -  - C:\mingw-builds -> mingw.cmd
 | 
	
		
			
				|  |  | -  - C:\third-party -> **\CMakeLists.txt
 | 
	
		
			
				|  |  | -  - C:\ssl
 | 
	
		
			
				|  |  | +version: '{build}'
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +configuration:
 | 
	
		
			
				|  |  | +  - Release
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +platform:
 | 
	
		
			
				|  |  | +  - x86
 | 
	
		
			
				|  |  | +  - x64
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +environment:
 | 
	
		
			
				|  |  | +  enable_cxx: NO
 | 
	
		
			
				|  |  | +  enable_ssl_dynamic_loading: YES
 | 
	
		
			
				|  |  | +  enable_lua: NO
 | 
	
		
			
				|  |  | +  enable_lua_shared: NO
 | 
	
		
			
				|  |  | +  c_standard: auto
 | 
	
		
			
				|  |  | +  cxx_standard: auto  
 | 
	
		
			
				|  |  | +  matrix:
 | 
	
		
			
				|  |  | +    - compiler: msvc-18-seh
 | 
	
		
			
				|  |  | +      build_shared: NO
 | 
	
		
			
				|  |  | +      no_files: NO
 | 
	
		
			
				|  |  | +      enable_ipv6: NO
 | 
	
		
			
				|  |  | +      enable_ssl: YES
 | 
	
		
			
				|  |  | +      enable_websockets: YES
 | 
	
		
			
				|  |  | +      no_cgi: NO
 | 
	
		
			
				|  |  | +    - compiler: msvc-18-seh
 | 
	
		
			
				|  |  | +      build_shared: YES
 | 
	
		
			
				|  |  | +      no_files: NO
 | 
	
		
			
				|  |  | +      enable_ipv6: NO
 | 
	
		
			
				|  |  | +      enable_ssl: YES
 | 
	
		
			
				|  |  | +      enable_websockets: YES
 | 
	
		
			
				|  |  | +      no_cgi: NO
 | 
	
		
			
				|  |  | +    - compiler: msvc-18-seh
 | 
	
		
			
				|  |  | +      build_shared: YES
 | 
	
		
			
				|  |  | +      no_files: YES
 | 
	
		
			
				|  |  | +      enable_ipv6: NO
 | 
	
		
			
				|  |  | +      enable_ssl: YES
 | 
	
		
			
				|  |  | +      enable_websockets: YES
 | 
	
		
			
				|  |  | +      no_cgi: NO
 | 
	
		
			
				|  |  | +    - compiler: gcc-5.1.0-posix
 | 
	
		
			
				|  |  | +      build_shared: NO
 | 
	
		
			
				|  |  | +      no_files: YES
 | 
	
		
			
				|  |  | +      enable_ipv6: NO
 | 
	
		
			
				|  |  | +      enable_ssl: NO
 | 
	
		
			
				|  |  | +      enable_websockets: NO
 | 
	
		
			
				|  |  | +      no_cgi: YES
 | 
	
		
			
				|  |  | +    - compiler: gcc-5.1.0-posix
 | 
	
		
			
				|  |  | +      build_shared: NO
 | 
	
		
			
				|  |  | +      no_files: NO
 | 
	
		
			
				|  |  | +      enable_ipv6: YES
 | 
	
		
			
				|  |  | +      enable_ssl: YES
 | 
	
		
			
				|  |  | +      enable_websockets: YES
 | 
	
		
			
				|  |  | +      no_cgi: NO
 | 
	
		
			
				|  |  | +    - compiler: gcc-5.1.0-posix
 | 
	
		
			
				|  |  | +      build_shared: NO
 | 
	
		
			
				|  |  | +      no_files: NO
 | 
	
		
			
				|  |  | +      enable_ipv6: NO
 | 
	
		
			
				|  |  | +      enable_ssl: YES
 | 
	
		
			
				|  |  | +      enable_websockets: YES
 | 
	
		
			
				|  |  | +      no_cgi: NO
 | 
	
		
			
				|  |  | +    - compiler: gcc-5.1.0-posix
 | 
	
		
			
				|  |  | +      build_shared: YES
 | 
	
		
			
				|  |  | +      no_files: NO
 | 
	
		
			
				|  |  | +      enable_ipv6: NO
 | 
	
		
			
				|  |  | +      enable_ssl: YES
 | 
	
		
			
				|  |  | +      enable_websockets: YES
 | 
	
		
			
				|  |  | +      no_cgi: NO
 | 
	
		
			
				|  |  | +    - compiler: gcc-5.1.0-posix
 | 
	
		
			
				|  |  | +      build_shared: YES
 | 
	
		
			
				|  |  | +      no_files: YES
 | 
	
		
			
				|  |  | +      enable_ipv6: NO
 | 
	
		
			
				|  |  | +      enable_ssl: YES
 | 
	
		
			
				|  |  | +      enable_websockets: YES
 | 
	
		
			
				|  |  | +      no_cgi: NO
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +install:
 | 
	
		
			
				|  |  | +  # Derive some extra information
 | 
	
		
			
				|  |  | +  - set build_type=%configuration%
 | 
	
		
			
				|  |  | +  - for /f "tokens=1-3 delims=-" %%a in ("%compiler%") do (@set "compiler_name=%%a")
 | 
	
		
			
				|  |  | +  - for /f "tokens=1-3 delims=-" %%a in ("%compiler%") do (@set "compiler_version=%%b")
 | 
	
		
			
				|  |  | +  - for /f "tokens=1-3 delims=-" %%a in ("%compiler%") do (@set "compiler_threading=%%c")
 | 
	
		
			
				|  |  | +  - if "%platform%"=="x64" (set arch=x86_64)
 | 
	
		
			
				|  |  | +  - if "%platform%"=="x86" (set arch=i686)
 | 
	
		
			
				|  |  | +  # Download the specific version of MinGW
 | 
	
		
			
				|  |  | +  - if "%compiler_name%"=="gcc" (@set "mingw_output_folder=C:\mingw-builds")
 | 
	
		
			
				|  |  | +  - if "%compiler_name%"=="gcc" (
 | 
	
		
			
				|  |  | +      @for /f %%a in (
 | 
	
		
			
				|  |  | +        'call mingw.cmd
 | 
	
		
			
				|  |  | +          /version "%compiler_version%"
 | 
	
		
			
				|  |  | +          /arch "%arch%"
 | 
	
		
			
				|  |  | +          /threading "%compiler_threading%"
 | 
	
		
			
				|  |  | +          "%mingw_output_folder%"'
 | 
	
		
			
				|  |  | +      ) do @set "compiler_path=%%a"
 | 
	
		
			
				|  |  | +    )
 | 
	
		
			
				|  |  | +  - if "%compiler_name%"=="gcc" (@set "mingw_log_folder=%mingw_output_folder%\logs")
 | 
	
		
			
				|  |  | +  - if exist "%mingw_log_folder%" @for /f %%f in ('dir /b /oD /tc "%mingw_log_folder%"') do @set "mingw_log_file=%mingw_log_folder%\%%f"
 | 
	
		
			
				|  |  | +  - if exist "%mingw_log_file%" powershell Push-AppveyorArtifact "%mingw_log_file%" -FileName mingw-download.log
 | 
	
		
			
				|  |  | +  # Get OpenSSL
 | 
	
		
			
				|  |  | +  - if not exist C:\ssl\ (md C:\ssl\)
 | 
	
		
			
				|  |  | +  - if not exist C:\ssl\Win32OpenSSL.exe (curl http://slproweb.com/download/Win32OpenSSL-1_0_2d.exe -o C:\ssl\Win32OpenSSL.exe)
 | 
	
		
			
				|  |  | +  - if not exist C:\ssl\Win64OpenSSL.exe (curl http://slproweb.com/download/Win64OpenSSL-1_0_2d.exe -o C:\ssl\Win64OpenSSL.exe)
 | 
	
		
			
				|  |  | +  - dir C:\ssl
 | 
	
		
			
				|  |  | +  - C:\ssl\Win32OpenSSL.exe /SILENT /LOG="C:\ssl\install32.log"
 | 
	
		
			
				|  |  | +  - C:\ssl\Win64OpenSSL.exe /SILENT /LOG="C:\ssl\install64.log"
 | 
	
		
			
				|  |  | +  
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +before_build:
 | 
	
		
			
				|  |  | +  # Set up mingw commands
 | 
	
		
			
				|  |  | +  - if "%compiler_name%"=="gcc" (set "generator=MinGW Makefiles")
 | 
	
		
			
				|  |  | +  - if "%compiler_name%"=="gcc" (set "build=mingw32-make -j4")
 | 
	
		
			
				|  |  | +  - if "%compiler_name%"=="gcc" (set "test=mingw32-make CTEST_OUTPUT_ON_FAILURE=1 test")
 | 
	
		
			
				|  |  | +  # MSVC specific commands
 | 
	
		
			
				|  |  | +  # Note: The minimum version officially supported for CivetWeb is VS2010. Older ones might work or not.
 | 
	
		
			
				|  |  | +  - if "%compiler_version%"=="14" (set "vs_version=8" & set "vs_year=2005")
 | 
	
		
			
				|  |  | +  - if "%compiler_version%"=="15" (set "vs_version=9" & set "vs_year=2008")
 | 
	
		
			
				|  |  | +  - if "%compiler_version%"=="16" (set "vs_version=10" & set "vs_year=2010")
 | 
	
		
			
				|  |  | +  - if "%compiler_version%"=="17" (set "vs_version=11" & set "vs_year=2012")
 | 
	
		
			
				|  |  | +  - if "%compiler_version%"=="18" (set "vs_version=12" & set "vs_year=2013")
 | 
	
		
			
				|  |  | +  - if "%compiler_version%"=="19" (set "vs_version=14" & set "vs_year=2015")
 | 
	
		
			
				|  |  | +  - if "%compiler_name%"=="msvc" (set "generator=Visual Studio %vs_version% %vs_year%")
 | 
	
		
			
				|  |  | +  - if "%compiler_name%"=="msvc" (
 | 
	
		
			
				|  |  | +      if "%platform%"=="x64" (
 | 
	
		
			
				|  |  | +        set "generator=%generator% Win64"
 | 
	
		
			
				|  |  | +      )
 | 
	
		
			
				|  |  | +    )
 | 
	
		
			
				|  |  | +  - if %compiler_version% gtr 9 (set platform=%platform:x86=Win32%)
 | 
	
		
			
				|  |  | +  - if "%compiler_name%"=="msvc" (set "msbuild_opts=/clp:OnlyErrors;OnlyWarnings /nologo /m /v:m")
 | 
	
		
			
				|  |  | +  - if "%compiler_name%"=="msvc" (set "build=msbuild %msbuild_opts% /p:Configuration=%configuration% /p:Platform=%platform% civetweb.sln")
 | 
	
		
			
				|  |  | +  - if "%compiler_name%"=="msvc" (set "test=msbuild %msbuild_opts% RUN_TESTS.vcxproj")
 | 
	
		
			
				|  |  | +  # Add the compiler path if needed
 | 
	
		
			
				|  |  | +  - if not "%compiler_path%"=="" (set "PATH=%PATH%;%compiler_path%")
 | 
	
		
			
				|  |  | +  # git bash conflicts with MinGW makefiles
 | 
	
		
			
				|  |  | +  - if "%generator%"=="MinGW Makefiles" (set "PATH=%PATH:C:\Program Files (x86)\Git\bin=%")
 | 
	
		
			
				|  |  | +  # Useful locations
 | 
	
		
			
				|  |  | +  - set "source_path=%cd%"
 | 
	
		
			
				|  |  | +  - set "output_path=%source_path%\output"
 | 
	
		
			
				|  |  | +  - set "build_path=%output_path%\build"
 | 
	
		
			
				|  |  | +  - set "install_path=%output_path%\install"
 | 
	
		
			
				|  |  | +  - set "third_party_dir=C:\third-party"
 | 
	
		
			
				|  |  | +  # Check some settings of the build server
 | 
	
		
			
				|  |  | +  - ver
 | 
	
		
			
				|  |  | +  - cd
 | 
	
		
			
				|  |  | +  - dir
 | 
	
		
			
				|  |  | +  - ipconfig /all
 | 
	
		
			
				|  |  | +  # Generate the build scripts with CMake
 | 
	
		
			
				|  |  | +  - mkdir "%build_path%"
 | 
	
		
			
				|  |  | +  - cd "%build_path%"
 | 
	
		
			
				|  |  | +  - cmake --version
 | 
	
		
			
				|  |  | +  - appveyor AddMessage -Category Information "Generating '%generator%'"
 | 
	
		
			
				|  |  | +  - cmake
 | 
	
		
			
				|  |  | +    -G "%generator%"
 | 
	
		
			
				|  |  | +    -DCMAKE_BUILD_TYPE=%build_type%
 | 
	
		
			
				|  |  | +    -DBUILD_SHARED_LIBS=%build_shared%
 | 
	
		
			
				|  |  | +    -DCIVETWEB_SERVE_NO_FILES=%no_files%
 | 
	
		
			
				|  |  | +    "-DCIVETWEB_THIRD_PARTY_DIR=%third_party_dir:\=\\%"
 | 
	
		
			
				|  |  | +    -DCIVETWEB_ENABLE_THIRD_PARTY_OUTPUT=YES
 | 
	
		
			
				|  |  | +    -DCIVETWEB_ENABLE_SSL=%enable_ssl%
 | 
	
		
			
				|  |  | +    -DCIVETWEB_DISABLE_CGI=%no_cgi%
 | 
	
		
			
				|  |  | +    -DCIVETWEB_ENABLE_SSL_DYNAMIC_LOADING=%enable_ssl_dynamic_loading%
 | 
	
		
			
				|  |  | +    -DCIVETWEB_ENABLE_WEBSOCKETS=%enable_websockets%
 | 
	
		
			
				|  |  | +    -DCIVETWEB_ENABLE_CXX=%enable_cxx%
 | 
	
		
			
				|  |  | +    -DCIVETWEB_ENABLE_LUA=%enable_lua%
 | 
	
		
			
				|  |  | +    -DCIVETWEB_ENABLE_LUA_SHARED=%enable_lua_shared%
 | 
	
		
			
				|  |  | +    -DCIVETWEB_C_STANDARD=%c_standard%
 | 
	
		
			
				|  |  | +    -DCIVETWEB_CXX_STANDARD=%cxx_standard%
 | 
	
		
			
				|  |  | +    "%source_path%"
 | 
	
		
			
				|  |  | +  - powershell Push-AppveyorArtifact CMakeCache.txt
 | 
	
		
			
				|  |  | +  - cd "%source_path%"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +build_script:
 | 
	
		
			
				|  |  | +  - cd
 | 
	
		
			
				|  |  | +  - cd "%build_path%"
 | 
	
		
			
				|  |  | +  - appveyor AddMessage -Category Information "Build command '%build%'"
 | 
	
		
			
				|  |  | +  - cmd /c "%build%"
 | 
	
		
			
				|  |  | +  - cd "%source_path%"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +test_script:   
 | 
	
		
			
				|  |  | +  - cd "%build_path%"
 | 
	
		
			
				|  |  | +  - appveyor AddMessage -Category Information "Test command '%build%'"
 | 
	
		
			
				|  |  | +  - cmd /c "%test%"
 | 
	
		
			
				|  |  | +  - cd "%source_path%"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +after_test:
 | 
	
		
			
				|  |  | +  - cmake "-DCMAKE_INSTALL_PREFIX=%install_path%" -P "%build_path%/cmake_install.cmake"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +matrix:
 | 
	
		
			
				|  |  | +  fast_finish: true
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +cache:
 | 
	
		
			
				|  |  | +  - C:\mingw-builds -> mingw.cmd
 | 
	
		
			
				|  |  | +  - C:\third-party -> **\CMakeLists.txt
 | 
	
		
			
				|  |  | +  - C:\ssl
 |