mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Placing these directories at the root will make the git revision detection consider the working directory to be dirty.
138 lines
4.3 KiB
YAML
138 lines
4.3 KiB
YAML
Windows x86:
|
|
extends: .srb2ci
|
|
|
|
stage: build
|
|
|
|
when: on_success
|
|
|
|
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:
|
|
- 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"
|
|
- |
|
|
CCACHE=$(which ccache)
|
|
|
|
cmake \
|
|
--preset ninja-x86_mingw_static_vcpkg-debug \
|
|
-G "Unix Makefiles" \
|
|
-DCMAKE_C_COMPILER_LAUNCHER=$CCACHE \
|
|
-DCMAKE_CXX_COMPILER_LAUNCHER=$CCACHE \
|
|
-DCMAKE_C_COMPILER=/usr/bin/i686-w64-mingw32-gcc-posix \
|
|
-DCMAKE_CXX_COMPILER=/usr/bin/i686-w64-mingw32-g++-posix \
|
|
-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/toolchains/mingw.cmake \
|
|
-DSRB2_CONFIG_ALWAYS_MAKE_DEBUGLINK=ON
|
|
|
|
- |
|
|
# 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"
|