加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
appveyor.yml 16.11 KB
一键复制 编辑 原始数据 按行查看 历史
Uilian Ries 提交于 2021-09-01 18:16 . Remove Conan support
version: '{build}'
build:
# no automatic build in script mode
skip_commits:
# Builds just testing something on Travis CI don't need to be
# done on AppVeyor
message: /\[Travis\]/
# Dont build, if only documentation was changed
files:
- '**/*.md'
environment:
enable_cxx: NO
enable_ssl_dynamic_loading: YES
enable_lua: NO
enable_lua_shared: NO
c_standard: auto
cxx_standard: auto
matrix:
# Use default values
- id: Default-x86
compiler: msvc-19-seh
build_shared: NO
no_files: NO
enable_ipv6: NO
enable_ssl: YES
enable_websockets: NO
no_cgi: NO
no_caching: NO
enable_stats: NO
configuration: Release
platform: x86
- id: Default-x64
compiler: msvc-19-seh
build_shared: NO
no_files: NO
enable_ipv6: NO
enable_ssl: YES
enable_websockets: NO
no_cgi: NO
no_caching: NO
enable_stats: NO
configuration: Release
platform: x64
# Use default values
- id: Full-x86
compiler: msvc-19-seh
build_shared: NO
no_files: NO
enable_ipv6: YES
enable_ssl: YES
enable_websockets: YES
no_cgi: NO
no_caching: NO
enable_stats: YES
configuration: Release
platform: x86
- id: Full-x64
compiler: msvc-19-seh
build_shared: NO
no_files: NO
enable_ipv6: YES
enable_ssl: YES
enable_websockets: YES
no_cgi: NO
no_caching: NO
enable_stats: YES
configuration: Release
platform: x64
# Debug builds
- id: Full-x86-Debug
compiler: msvc-19-seh
build_shared: NO
no_files: NO
enable_ipv6: YES
enable_ssl: YES
enable_websockets: YES
no_cgi: NO
no_caching: NO
enable_stats: YES
configuration: Debug
platform: x86
- id: Full-x64-Debug
compiler: msvc-19-seh
build_shared: NO
no_files: NO
enable_ipv6: YES
enable_ssl: YES
enable_websockets: YES
no_cgi: NO
no_caching: NO
enable_stats: YES
configuration: Debug
platform: x64
# Minimum settings
- id: Minimal-x86
compiler: msvc-19-seh
build_shared: NO
no_files: YES
enable_ipv6: NO
enable_ssl: NO
enable_websockets: NO
no_cgi: YES
no_caching: YES
enable_stats: NO
configuration: Release
platform: x86
- id: Minimal-x64
compiler: msvc-19-seh
build_shared: NO
no_files: YES
enable_ipv6: NO
enable_ssl: NO
enable_websockets: NO
no_cgi: YES
no_caching: YeS
enable_stats: NO
configuration: Release
platform: x64
# Test shared and debug build
- id: Shared-default-x86
compiler: msvc-19-seh
build_shared: YES
no_files: NO
enable_ipv6: NO
enable_ssl: YES
enable_websockets: NO
no_cgi: NO
no_caching: NO
enable_stats: NO
configuration: Release
platform: x86
- id: Shared-default-x64
compiler: msvc-19-seh
build_shared: YES
no_files: NO
enable_ipv6: NO
enable_ssl: YES
enable_websockets: NO
no_cgi: NO
no_caching: NO
enable_stats: NO
configuration: Release
platform: x64
# MinGW
- id: Full-GCC-x64
compiler: gcc-5.1.0-posix
build_shared: NO
no_files: NO
enable_ipv6: YES
enable_ssl: YES
enable_websockets: YES
no_cgi: NO
no_caching: NO
enable_stats: YES
configuration: Release
platform: x64
# Visual Studio 2010
- id: Full-VS2010-x86
compiler: msvc-16-seh
build_shared: NO
no_files: NO
enable_ipv6: YES
enable_ssl: YES
enable_websockets: YES
no_cgi: NO
no_caching: NO
enable_stats: YES
configuration: Release
platform: x86
# Visual Studio 2012
- id: Full-VS2012-x86
compiler: msvc-17-seh
build_shared: NO
no_files: NO
enable_ipv6: YES
enable_ssl: YES
enable_websockets: YES
no_cgi: NO
no_caching: NO
enable_stats: YES
configuration: Release
platform: x86
# Visual Studio 2013
- id: Full-VS2013-x86
compiler: msvc-18-seh
build_shared: NO
no_files: NO
enable_ipv6: YES
enable_ssl: YES
enable_websockets: YES
no_cgi: NO
no_caching: NO
enable_stats: YES
configuration: Release
platform: x86
image: Visual Studio 2013
- id: Full-VS2013-x64
compiler: msvc-18-seh
build_shared: NO
no_files: NO
enable_ipv6: YES
enable_ssl: YES
enable_websockets: YES
no_cgi: NO
no_caching: NO
enable_stats: YES
configuration: Release
platform: x64
image: Visual Studio 2013
# Visual Studio 2015
- id: Full-VS2015-x86
compiler: msvc-19-seh
build_shared: NO
no_files: NO
enable_ipv6: YES
enable_ssl: YES
enable_websockets: YES
no_cgi: NO
no_caching: NO
enable_stats: YES
configuration: Release
platform: x86
image: Visual Studio 2015
- id: Full-VS2015-x64
compiler: msvc-19-seh
build_shared: NO
no_files: NO
enable_ipv6: YES
enable_ssl: YES
enable_websockets: YES
no_cgi: NO
no_caching: NO
enable_stats: YES
configuration: Release
platform: x64
image: Visual Studio 2015
# Visual Studio 2017
- id: Full-VS2017-x86
compiler: msvc-20-seh
build_shared: NO
no_files: NO
enable_ipv6: YES
enable_ssl: YES
enable_websockets: YES
no_cgi: NO
no_caching: NO
enable_stats: YES
configuration: Release
platform: x86
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
- id: Full-VS2017-x64
compiler: msvc-20-seh
build_shared: NO
no_files: NO
enable_ipv6: YES
enable_ssl: YES
enable_websockets: YES
no_cgi: NO
no_caching: NO
enable_stats: YES
configuration: Release
platform: x64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
# Visual Studio 2019
- id: Full-VS2019-x64
compiler: msvc-21-seh
build_shared: NO
no_files: NO
enable_ipv6: YES
enable_ssl: YES
enable_websockets: YES
no_cgi: NO
no_caching: NO
enable_stats: YES
configuration: Release
platform: x64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
# Ubuntu
- id: Ubuntu1604-GCC-x64
compiler: gcc-5.1.0-posix
build_shared: NO
no_files: NO
enable_ipv6: YES
enable_ssl: YES
enable_websockets: YES
no_cgi: NO
no_caching: NO
enable_stats: YES
configuration: Release
platform: x64
image: Ubuntu1604
- id: Ubuntu1804-GCC-x64
compiler: gcc-5.1.0-posix
build_shared: NO
no_files: NO
enable_ipv6: YES
enable_ssl: YES
enable_websockets: YES
no_cgi: NO
no_caching: NO
enable_stats: YES
configuration: Release
platform: x64
image: Ubuntu1804
- id: Ubuntu2004-GCC-x64
compiler: gcc-5.1.0-posix
build_shared: NO
no_files: NO
enable_ipv6: YES
enable_ssl: YES
enable_websockets: YES
no_cgi: NO
no_caching: NO
enable_stats: YES
configuration: Release
platform: x64
image: Ubuntu2004
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
#
# OpenSSL should already be installed, according to
# - http://help.appveyor.com/discussions/questions/1132-openssl-installation-issues
# - https://github.com/appveyor/ci/issues/576
#
- cmd: set PATH=%PATH%;C:\OpenSSL-Win32;C:\OpenSSL-Win64
- dir C:\OpenSSL-Win32
- dir C:\OpenSSL-Win64
- path
before_build:
# Remove sh.exe from the path otherwise CMake will complain:
# "sh.exe was found in your PATH, here: C:/Program Files/Git/usr/bin/sh.exe"
# and the MinGW build will not work (the Visual Studio build does not care).
# See http://help.appveyor.com/discussions/problems/3193-cmake-building-for-mingw-issue-with-git-shexe
# The entire directory containing sh.exe could be removed from the PATH environment:
# - set PATH=%PATH:C:\Program Files\Git\usr\bin;=%
# However, this will also remove all other programs in this directory from the PATH.
# In particular "patch" is still required.
# So, just rename sh.exe:
- ren "C:\Program Files\Git\usr\bin\sh.exe" _sh.exe
# 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 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_version%"=="20" (set "vs_version=15" & set "vs_year=2017")
- if "%compiler_version%"=="21" (set "vs_version=16" & set "vs_year=2019")
- if "%compiler_name%"=="msvc" (set "generator=Visual Studio %vs_version% %vs_year%")
- set "arch_arg= "
- if "%compiler_name%"=="msvc" (
if "%compiler_version%"=="21" (
set "arch_arg= -A x64 "
)
)
- if "%compiler_name%"=="msvc" (
if not "%compiler_version%"=="21" (
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
- echo %generator%
- echo %arch_arg%
- appveyor AddMessage -Category Information "Generating '%generator%'"
- echo cmake
-G "%generator%" %arch_arg%
-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_ENABLE_SERVER_STATS=%enable_stats%
-DCIVETWEB_DISABLE_CACHING=%no_caching%
-DCIVETWEB_C_STANDARD=%c_standard%
-DCIVETWEB_CXX_STANDARD=%cxx_standard%
-DCIVETWEB_SSL_OPENSSL_API_1_0=NO
-DCIVETWEB_SSL_OPENSSL_API_1_1=YES
"%source_path%"
- cmake
-G "%generator%" %arch_arg%
-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_ENABLE_SERVER_STATS=%enable_stats%
-DCIVETWEB_DISABLE_CACHING=%no_caching%
-DCIVETWEB_C_STANDARD=%c_standard%
-DCIVETWEB_CXX_STANDARD=%cxx_standard%
-DCIVETWEB_SSL_OPENSSL_API_1_0=NO
-DCIVETWEB_SSL_OPENSSL_API_1_1=YES
"%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%'"
- set CTEST_OUTPUT_ON_FAILURE=1
- cmd /c "%test%" & set "test_ret=%ERRORLEVEL%"
- echo "Test returned %test_ret%"
- dir "%source_path%\output\build\unittest\"
- echo "Show all test logs:"
- for /r %%i in ("%source_path%\output\build\unittest\test-*.log") do (
echo %%i
type %%i
)
- for /r %%i in ("%source_path%\output\build\unittest\test-*.xml") do (
echo %%i
type %%i
)
- cd "%source_path%"
- 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"
- exit /B %ERRORLEVEL%
- echo "Test script DONE"
after_test:
- echo "Current directory:"
- cd
- dir
- md dist
- if "%build_type%"=="Release" (cmake "-DCMAKE_INSTALL_PREFIX=%install_path%" -P "%build_path%/cmake_install.cmake")
- dir dist\
- echo "Output directory:"
- dir %output_path%
- echo "Build directory:"
- dir %build_path%
- if "%build_type%"=="Release" (echo "Install directory:")
- if "%build_type%"=="Release" (dir %install_path%)
- if "%build_type%"=="Release" (dir %install_path%\bin)
- if "%build_type%"=="Release" (dir %install_path%\include)
- if "%build_type%"=="Release" (dir %install_path%\lib)
- if "%build_type%"=="Release" (copy "%install_path%"\include dist\)
- if "%build_type%"=="Release" (copy "%install_path%"\bin\*.exe dist\)
- echo "Dist directory:"
- dir dist\
cache:
- C:\mingw-builds -> mingw.cmd
- C:\third-party -> **\CMakeLists.txt
- C:\ssl
artifacts:
- path: dist\*
for:
-
matrix:
only:
- configuration: Release
fast_finish: false
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化