1 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 2 3 if (-not (Test-Path cmake-$Env:CMAKE_VERSION-win64-x64)) { 4 Invoke-WebRequest ` 5 -Uri http://github.com/Kitware/CMake/releases/download/v$Env:CMAKE_VERSION/cmake-$Env:CMAKE_VERSION-win64-x64.zip ` 6 -OutFile cmake-$Env:CMAKE_VERSION-win64-x64.zip 7 Expand-Archive cmake-$Env:CMAKE_VERSION-win64-x64.zip -DestinationPath . 8 } 9 $Env:Path="$Env:CI_PROJECT_DIR\cmake-$Env:CMAKE_VERSION-win64-x64\bin;$Env:Path" 10 11 if (-not (Test-Path 7za.exe)) { 12 Invoke-WebRequest ` 13 -Uri https://www.7-zip.org/a/7z1900-extra.7z ` 14 -OutFile 7z1900-extra.7z 15 cmake -E tar xf 7z1900-extra.7z 7za.exe 16 } 17 18 if (-not (Test-Path libxml2-build/xmlconf)) { 19 Invoke-WebRequest ` 20 -Uri https://www.w3.org/XML/Test/xmlts20080827.tar.gz ` 21 -OutFile xmlts20080827.tar.gz ; 22 .\7za.exe x xmlts20080827.tar.gz -olibxml2-build 23 } 24 25 cmake ` 26 -DBUILD_SHARED_LIBS="$Env:BUILD_SHARED_LIBS" ` 27 -DCMAKE_INSTALL_PREFIX=libxml2-install ` 28 -DLIBXML2_WITH_ICONV=OFF ` 29 -DLIBXML2_WITH_LZMA=OFF ` 30 -DLIBXML2_WITH_PYTHON=OFF ` 31 -DLIBXML2_WITH_ZLIB=OFF ` 32 -S . -B libxml2-build 33 cmake --build libxml2-build --config Debug --target install 34 cmake --build libxml2-build --config Release --target install 35 New-Item -ItemType Directory libxml2-install\share\libxml2 36 Copy-Item Copyright libxml2-install\share\libxml2 37 38 cd libxml2-build 39 ctest -C Debug -VV 40 if ($LastExitCode -ne 0) { 41 throw "ctest failed" 42 } 43 ctest -C Release -VV 44 if ($LastExitCode -ne 0) { 45 throw "ctest failed" 46 } 47 cd .. 48 49 .\7za.exe a libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:CMAKE_GENERATOR_TOOLSET-$Env:CMAKE_GENERATOR_PLATFORM-$Env:SUFFIX.7z .\libxml2-install\* 50