# Possible test configurations for comprehensive feature coverage: # # Cygwin # ------ # 1) -Dnetwork:BOOL=ON -Dnetwork-accessor=curl -Dmessage-loader=icu -Dtranscoder=iconv # 2) -Dnetwork:BOOL=ON -Dnetwork-accessor=socket -Dmessage-loader=inmemory -Dtranscoder=icu # 3) -Dnetwork:BOOL=OFF" # 4) (none) # # MinGW # ----- # 1) -Dnetwork:BOOL=ON -Dtranscoder=iconv # 2) -Dnetwork:BOOL=ON -Dtranscoder=windows # 3) -Dnetwork:BOOL=OFF # 4) (none) # # MSVC # ---- # 1) -Dnetwork:BOOL=ON -Dmessage-loader=icu -Dtranscoder=iconv # 2) -Dnetwork:BOOL=ON -Dnetwork-accessor=winsock -Dmessage-loader=inmemory -Dtranscoder=icu # 3) -Dnetwork:BOOL=ON -Dtranscoder=windows # 4) -Dnetwork:BOOL=OFF # 5) (none) # # To keep the test matrix size manageable, only a subset of these are # used, to test each settable option, but not in every possible # combination. environment: AV_PROJECTS: 'c:\projects' AV_XERCES_DOWNLOAD: 'c:\projects\download' AV_XERCES_TOOLS: 'c:\projects\tools' AV_XERCES_SOURCE: 'c:\projects\xerces-c' AV_XERCES_BUILD: 'c:\projects\build' AV_XERCES_INSTALL: 'c:/projects/libs' matrix: - compiler: cygwin configuration: Release generator: Unix Makefiles shared: ON network: ON netaccessor: curl msgloader: inmemory transcoder: iconv mutexmanager: posix xmlch: uint16_t - compiler: cygwin configuration: Debug generator: Unix Makefiles shared: OFF network: OFF netaccessor: msgloader: transcoder: mutexmanager: standard xmlch: char16_t - compiler: mingw configuration: Release generator: Ninja shared: ON network: ON netaccessor: msgloader: transcoder: windows mutexmanager: windows xmlch: wchar_t - compiler: mingw configuration: Debug generator: Ninja shared: OFF network: netaccessor: msgloader: transcoder: iconv mutexmanager: xmlch: uint16_t - compiler: vc14 configuration: Release generator: Visual Studio 14 2015 Win64 shared: ON network: ON netaccessor: msgloader: icu transcoder: windows mutexmanager: windows xmlch: wchar_t mfc: ON - compiler: vc14 configuration: Debug generator: Visual Studio 14 2015 Win64 shared: OFF network: OFF netaccessor: winsock msgloader: inmemory transcoder: icu mutexmanager: standard xmlch: char16_t mfc: OFF # Operating system (build VM template) os: 'Visual Studio 2015' # clone directory clone_folder: 'c:\projects\xerces-c' clone_depth: 5 platform: x64 init: - git config --global core.autocrlf input before_build: - 'FOR /F "tokens=* USEBACKQ" %%F IN (`C:\cygwin64\bin\cygpath -u %AV_XERCES_DOWNLOAD%`) DO SET AV_XERCES_CYG_DOWNLOAD=%%F' - 'FOR /F "tokens=* USEBACKQ" %%F IN (`C:\cygwin64\bin\cygpath -u %AV_XERCES_TOOLS%`) DO SET AV_XERCES_CYG_TOOLS=%%F' - 'FOR /F "tokens=* USEBACKQ" %%F IN (`C:\cygwin64\bin\cygpath -u %AV_XERCES_SOURCE%`) DO SET AV_XERCES_CYG_SOURCE=%%F' - 'FOR /F "tokens=* USEBACKQ" %%F IN (`C:\cygwin64\bin\cygpath -u %AV_XERCES_INSTALL%`) DO SET AV_XERCES_CYG_INSTALL=%%F' - 'if NOT EXIST "%AV_XERCES_DOWNLOAD%\" mkdir %AV_XERCES_DOWNLOAD%' - 'if NOT EXIST "%AV_XERCES_TOOLS%\" mkdir %AV_XERCES_TOOLS%' - 'if %compiler%==cygwin C:\Cygwin64\setup-x86_64 -q -R C:\Cygwin64 -s http://cygwin.mirror.constant.com -l %AV_XERCES_DOWNLOAD%\cygwin -P libcurl-devel,cmake' - if [%msgloader%] == [icu] set AV_ICU_BUILD=true - if [%transcoder%] == [icu] set AV_ICU_BUILD=true - 'if EXIST "%AV_PROJECTS%\icu" set AV_ICU_BUILD=false' - 'set "PATH=C:\Program Files (x86)\cmake\bin;%AV_XERCES_TOOLS%;%PATH%"' - 'if %compiler%==cygwin set "PATH=C:\Cygwin64\bin;%PATH%"' - 'if %compiler%==mingw set "PATH=C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH%"' - set "AV_CMAKE_ARGS=-DBUILD_SHARED_LIBS:BOOL=%shared%" - set "AV_CMAKE_ARGS=%AV_CMAKE_ARGS% -Dnetwork:BOOL=%network%" - if NOT [%netaccessor%] == [] set "AV_CMAKE_ARGS=%AV_CMAKE_ARGS% -Dnetwork-accessor=%netaccessor%" - if NOT [%msgloader%] == [] set "AV_CMAKE_ARGS=%AV_CMAKE_ARGS% -Dmessage-loader=%msgloader%" - if NOT [%transcoder%] == [] set "AV_CMAKE_ARGS=%AV_CMAKE_ARGS% -Dtranscoder=%transcoder%" - if NOT [%mutexmanager%] == [] set "AV_CMAKE_ARGS=%AV_CMAKE_ARGS% -Dmutex-manager=%mutexmanager%" - if NOT [%xmlch%] == [] set "AV_CMAKE_ARGS=%AV_CMAKE_ARGS% -Dxmlch-type=%xmlch%" - if NOT [%mfc%] == [] set "AV_CMAKE_ARGS=%AV_CMAKE_ARGS% -Dmfc-debug=%mfc%" - set "AV_XERCES_CMAKE_SOURCE=%AV_XERCES_SOURCE%" - set "AV_XERCES_CMAKE_INSTALL=%AV_XERCES_INSTALL%" - 'if %compiler%==cygwin set "AV_XERCES_CMAKE_SOURCE=%AV_XERCES_CYG_SOURCE%' - 'if %compiler%==cygwin set "AV_XERCES_CMAKE_INSTALL=%AV_XERCES_CYG_INSTALL%' - 'C:\cygwin64\bin\bash %AV_XERCES_CYG_SOURCE%/scripts/ci-appveyor-setup' - set ICU_PLATFORM=x64 - if [%platform%] == [x86] set ICU_PLATFORM=Win32 - 'if [%AV_ICU_BUILD%] == [true] cd "%AV_PROJECTS%\icu"' - 'if [%AV_ICU_BUILD%] == [true] echo "Running msbuild to build ICU"' - 'if [%AV_ICU_BUILD%] == [true] call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" %platform%' - 'if [%AV_ICU_BUILD%] == [true] msbuild source\allinone\allinone.sln /p:Configuration=%configuration% /p:Platform=%ICU_PLATFORM% /m' - 'if [%AV_ICU_BUILD%] == [true] set "PATH=%AV_PROJECTS%\icu\bin;%AV_PROJECTS%\icu\bin64;%PATH%"' - 'if [%AV_ICU_BUILD%] == [true] set "CMAKE_PREFIX_PATH=%AV_PROJECTS%\icu"' - mkdir %AV_XERCES_BUILD% - cd %AV_XERCES_BUILD% - echo Running cmake -G "%generator%" -DCMAKE_INSTALL_PREFIX=%AV_XERCES_CMAKE_INSTALL% -DCMAKE_BUILD_TYPE=%configuration% %AV_XERCES_CMAKE_SOURCE% - cmake -G "%generator%" -DCMAKE_INSTALL_PREFIX=%AV_XERCES_CMAKE_INSTALL% -DCMAKE_BUILD_TYPE=%configuration% %AV_CMAKE_ARGS% %AV_XERCES_CMAKE_SOURCE% build_script: - cd %AV_XERCES_BUILD% - cmake --build . --config %configuration% - cmake --build . --config %configuration% --target install after_build: - cd %AV_XERCES_INSTALL% - '7z a %AV_XERCES_SOURCE%\xerces-c.zip * -tzip' before_test: - cd %AV_XERCES_BUILD% - ctest -V -C %configuration%