stages: - build build:windows: stage: build tags: - vs2017 - windows before_script: - git clean -xdf - git submodule sync --recursive - git submodule update --init --recursive # Needs MSVC 2019 installed! # Setup vcvars32.bat manually because this is powershell and MS does not have something simmilar for PS. Wtf? # https://gist.github.com/justinian/81a2e55c89e8301a8a96 # https://stackoverflow.com/questions/2124753/how-can-i-use-powershell-with-the-visual-studio-command-prompt - $tempFile = [IO.Path]::GetTempFileName() - cmd /c " `"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat`" && set > `"$tempFile`" " - Get-Content $tempFile | Foreach-Object {if($_ -match "^(.*?)=(.*)$"){Set-Content "env:\$($matches[1])" $matches[2]}} - Remove-Item $tempFile - $Env:Path += ';C:\Qt\5.15.1\msvc2019_64\bin' - $Env:Path += ';C:\Qt\Tools\QtCreator\bin' - $env:path -split ";" cache: key: ${CI_RUNNER_DESCRIPTION} paths: - Common\vcpkg\ script: - git submodule update --init - git submodule update --recursive - cd Common # https://gitlab.com/gitlab-org/gitlab-runner/-/issues/4480#note_342652247 - git clone https://github.com/microsoft/vcpkg.git; echo "" - cd vcpkg - git pull - git checkout 18ab4b72a26284f0df28295ce7bf9b21c96f20f4 - call bootstrap-vcpkg.bat - vcpkg.exe install openssl --triplet x64-windows --recurse - cd .. - cd .. - mkdir BUILD_WINDOWS - cd BUILD_WINDOWS - cmake.exe ../ -DCMAKE_PREFIX_PATH=c:/Qt/5.15.1/msvc2019 -DCMAKE_IGNORE_PATH=C:/Strawberry/c/bin -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_TOOLCHAIN_FILE="$(Get-Location)/../Common/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=x64-windows "-GCodeBlocks - Ninja" -B. - cmake.exe --build . --target all - cd bin - windeployqt.exe --release --qmldir ../../ScreenPlay/qml ScreenPlay.exe - windeployqt.exe --release --qmldir ../../ScreenPlayWidget ScreenPlayWidget.exe - windeployqt.exe --release --qmldir ../../ScreenPlayWallpaper ScreenPlayWallpaper.exe - del *.cpp,*.moc,*.h,*.obj,*.res,*.exp,*.lib,*.lik,*.pch, *.ninja, *.exe.manifest, *.cbp, *.cmake, *.ninja_log, *.ninja_deps, *.manifest artifacts: expire_in: '12 weeks' paths: - BUILD_WINDOWS/bin/ build_docs: stage: .post script: - curl --request POST --form "token=$CI_JOB_TOKEN" --form ref=master https://gitlab.com/api/v4/projects/15800262/trigger/pipeline