mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-02-09 09:41:12 +00:00
130 lines
4.1 KiB
YAML
130 lines
4.1 KiB
YAML
Windows x86:
|
|
extends: .srb2ci
|
|
|
|
stage: build
|
|
|
|
when: manual
|
|
|
|
allow_failure: true
|
|
|
|
cache:
|
|
- key: ccache-$CI_JOB_NAME_SLUG-$CI_COMMIT_REF_SLUG
|
|
fallback_keys:
|
|
- ccache-$CI_JOB_NAME_SLUG-$CI_DEFAULT_BRANCH
|
|
- ccache-$CI_JOB_NAME_SLUG-master
|
|
paths:
|
|
- build/ccache
|
|
- build/ccache_statslog
|
|
|
|
- key: apt-$CI_JOB_IMAGE
|
|
paths:
|
|
- build/apt-cache
|
|
unprotect: true
|
|
|
|
- key: vcpkg-root
|
|
paths:
|
|
- build/vcpkg-root
|
|
unprotect: true
|
|
|
|
- key: vcpkg-binary-cache-x86-mingw-static
|
|
paths:
|
|
- build/vcpkg-binary-cache
|
|
unprotect: true
|
|
|
|
artifacts:
|
|
paths:
|
|
- "build/ninja-x86_mingw_static_vcpkg-debug/bin/"
|
|
- "build/ninja-x86_mingw_static_vcpkg-debug/src/config.h"
|
|
expose_as: "Win32"
|
|
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-Win32"
|
|
|
|
variables:
|
|
PREFIX: i686-w64-mingw32
|
|
CC: /usr/bin/i686-w64-mingw32-gcc-posix
|
|
CXX: /usr/bin/i686-w64-mingw32-g++-posix
|
|
|
|
script:
|
|
- |
|
|
# vcpkg
|
|
echo -e "\e[0Ksection_start:`date +%s`:vcpkg-root[collapsed=true]\r\e[0KUpdating vcpkg"
|
|
|
|
if [ -d "build/vcpkg-root" ]; then
|
|
pushd build/vcpkg-root
|
|
git fetch https://github.com/Microsoft/vcpkg master
|
|
git reset --hard FETCH_HEAD
|
|
popd
|
|
else
|
|
mkdir -p build
|
|
git clone https://github.com/Microsoft/vcpkg build/vcpkg-root
|
|
fi
|
|
|
|
export VCPKG_ROOT=$(pwd)/build/vcpkg-root
|
|
export VCPKG_BINARY_SOURCES="clear;files,$(pwd)/build/vcpkg-binary-cache,readwrite"
|
|
|
|
mkdir -p "build/vcpkg-binary-cache"
|
|
|
|
echo -e "\e[0Ksection_end:`date +%s`:vcpkg-root\r\e[0K"
|
|
|
|
- - |
|
|
# apt_toolchain
|
|
echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
|
|
- apt-get install gcc-mingw-w64-i686-win32
|
|
- |
|
|
# apt_toolchain
|
|
echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
|
|
|
|
- - |
|
|
# apt_development
|
|
echo -e "\e[0Ksection_start:`date +%s`:apt_development[collapsed=true]\r\e[0KInstalling development packages"
|
|
- apt-get install ninja-build
|
|
- |
|
|
# apt_development
|
|
echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
|
|
|
|
- - |
|
|
# cmake
|
|
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
|
# cmake
|
|
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
|
- cmake --preset ninja-x86_mingw_static_vcpkg-debug -G "Unix Makefiles" -DSRB2_USE_CCACHE=YES -DSRB2_CONFIG_ERRORMODE=ON -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake
|
|
- |
|
|
# cmake
|
|
echo -e "\e[0Ksection_end:`date +%s`:cmake\r\e[0K"
|
|
|
|
- - |
|
|
# make
|
|
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
|
- cmake --build --preset ninja-x86_mingw_static_vcpkg-debug --parallel 1 -- --keep-going || cmake --build --preset ninja-x86_mingw_static_vcpkg-debug --parallel 1 -- --keep-going
|
|
- |
|
|
# make
|
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
|
|
|
after_script:
|
|
- - |
|
|
# apt_clean
|
|
echo -e "\e[0Ksection_start:`date +%s`:apt_clean[collapsed=true]\r\e[0KCleaning of unneeded APT packages"
|
|
- apt-get autoclean
|
|
- |
|
|
# apt_clean
|
|
echo -e "\e[0Ksection_end:`date +%s`:apt_clean\r\e[0K"
|
|
|
|
- - |
|
|
# vcpkg_clean
|
|
echo -e "\e[0Ksection_start:`date +%s`:vcpkg_clean[collapsed=true]\r\e[0KCleaning vcpkg-root"
|
|
|
|
if [ -d "build/vcpkg-root" ]; then
|
|
pushd "build/vcpkg-root"
|
|
git clean -f
|
|
popd
|
|
fi
|
|
|
|
echo -e "\e[0Ksection_end:`date +%s`:vcpkg_clean\r\e[0K"
|
|
|
|
- - |
|
|
# ccache_stats
|
|
echo -e "\e[0Ksection_start:`date +%s`:ccache_stats[collapsed=true]\r\e[0Kccache statistics:"
|
|
- ccache --show-stats
|
|
- ccache --show-log-stats || true
|
|
- |
|
|
# ccahe_stats
|
|
echo -e "\e[0Ksection_end:`date +%s`:ccache_stats\r\e[0K"
|