terravisor/.gitlab-ci.yml

37 lines
1.1 KiB
YAML

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 to compile the project
build:
stage: build
image: alpine:latest
script:
- echo "Building the application..."
- apk add --no-cache cmake make gcc g++ ninja
- export PATH=$PATH:/usr/bin
- ls -la # List the contents to check if the vcpkg directory is present
- cd vcpkg # Ensure we can access the vcpkg directory
- cd ..
- mkdir -p build
- cd build
- cmake .. -G Ninja -DCMAKE_TOOLCHAIN_FILE=$CI_PROJECT_DIR/vcpkg/scripts/buildsystems/vcpkg.cmake
- ninja
dependencies:
- setup # Ensure this job depends on the setup stage and uses its artifacts