stages: - setup - build setup: stage: setup image: alpine:latest script: - echo "Installing dependencies..." - apk update && apk add --no-cache curl zip unzip tar git cmake make gcc g++ bash ninja - echo "Cloning and setting up vcpkg..." - git clone https://github.com/microsoft/vcpkg.git - cd vcpkg - ./bootstrap-vcpkg.sh - ./vcpkg install glew:x64-linux glfw3:x64-linux || true # Prevent script exit on failure artifacts: paths: - vcpkg/buildtrees/glew/*.log build: stage: build image: alpine:latest script: - echo "Building the application..." - apk add --no-cache cmake make gcc g++ ninja - cd vcpkg - export VCPKG_FORCE_SYSTEM_BINARIES=1 - export PATH=$PATH:/usr/bin - cd .. - mkdir -p build - cd build - cmake .. -G Ninja -DCMAKE_TOOLCHAIN_FILE=$CI_PROJECT_DIR/vcpkg/scripts/buildsystems/vcpkg.cmake - ninja dependencies: - setup