|
|
|
stages:
|
|
|
|
- build
|
|
|
|
|
|
|
|
Debian:
|
|
|
|
tags:
|
|
|
|
- docker
|
|
|
|
- linux
|
|
|
|
image: debian:bullseye
|
|
|
|
cache:
|
|
|
|
key: cache.002
|
|
|
|
paths:
|
|
|
|
- apt-cache/
|
|
|
|
- ccache/
|
|
|
|
before_script:
|
|
|
|
- export APT_CACHE_DIR=`pwd`/apt-cache && mkdir -pv $APT_CACHE_DIR
|
|
|
|
- apt-get update -yq
|
|
|
|
- apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y cmake build-essential libboost-filesystem-dev libboost-program-options-dev libboost-system-dev libboost-iostreams-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libswresample-dev libsdl2-dev libqt5opengl5-dev libopenal-dev libopenscenegraph-dev libunshield-dev libtinyxml-dev libmygui-dev libbullet-dev ccache
|
|
|
|
stage: build
|
|
|
|
script:
|
|
|
|
- export CCACHE_BASEDIR="`pwd`"
|
|
|
|
- export CCACHE_DIR="`pwd`/ccache" && mkdir -pv "$CCACHE_DIR"
|
|
|
|
- ccache -z -M 250M
|
|
|
|
- cores_to_use=$((`nproc`-2)); if (( $cores_to_use < 1 )); then cores_to_use=1; fi
|
|
|
|
- mkdir build; cd build; cmake -DCMAKE_BUILD_TYPE=MinSizeRel ../ -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
|
|
|
- make -j$cores_to_use
|
|
|
|
- DESTDIR=artifacts make install
|
|
|
|
- ccache -s
|
|
|
|
artifacts:
|
|
|
|
paths:
|
|
|
|
- build/artifacts/
|
|
|
|
|
|
|
|
MacOS:
|
|
|
|
tags:
|
|
|
|
- macos
|
|
|
|
- xcode
|
|
|
|
except:
|
|
|
|
- branches # because our CI VMs are not public, MRs can't use them and timeout
|
|
|
|
stage: build
|
|
|
|
allow_failure: true
|
|
|
|
script:
|
|
|
|
- rm -fr build/* # remove anything in the build directory
|
|
|
|
- CI/before_install.osx.sh
|
|
|
|
- CI/before_script.osx.sh
|
|
|
|
- cd build; make -j2 package
|
|
|
|
artifacts:
|
|
|
|
paths:
|
|
|
|
- build/OpenMW-*.dmg
|
|
|
|
|
|
|
|
variables: &engine-targets
|
|
|
|
targets: "'openmw', 'openmw-essimporter', 'openmw-iniimporter', 'openmw-launcher', 'openmw-wizard'"
|
|
|
|
|
|
|
|
variables: &cs-targets
|
|
|
|
targets: "'openmw-cs', 'bsatool', 'esmtool', 'niftest'"
|
|
|
|
|
|
|
|
.Windows_Ninja_Base:
|
|
|
|
tags:
|
|
|
|
- windows
|
|
|
|
before_script:
|
|
|
|
- Import-Module "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1"
|
|
|
|
- choco install git --force --params "/GitAndUnixToolsOnPath" -y
|
|
|
|
- choco install 7zip -y
|
|
|
|
- choco install cmake.install --installargs 'ADD_CMAKE_TO_PATH=System' -y
|
|
|
|
- choco install vswhere -y
|
|
|
|
- choco install ninja -y
|
|
|
|
- choco install python -y
|
|
|
|
- refreshenv
|
|
|
|
stage: build
|
|
|
|
script:
|
|
|
|
- $time = (Get-Date -Format "HH:mm:ss")
|
|
|
|
- echo ${time}
|
|
|
|
- echo "started by ${GITLAB_USER_NAME}"
|
|
|
|
- sh CI/before_script.msvc.sh -c $config -p Win64 -v 2019 -k -V -N
|
|
|
|
- cd MSVC2019_64_Ninja
|
|
|
|
- .\ActivateMSVC.ps1
|
|
|
|
- cmake --build . --config $config --target $targets
|
|
|
|
- cd $config
|
|
|
|
- |
|
|
|
|
if (Get-ChildItem -Recurse *.pdb) {
|
|
|
|
7z a -tzip ..\..\OpenMW_MSVC2019_64_${config}_${CI_COMMIT_REF_NAME}_${CI_JOB_ID}_symbols.zip '*.pdb'
|
|
|
|
Get-ChildItem -Recurse *.pdb | Remove-Item
|
|
|
|
}
|
|
|
|
- 7z a -tzip ..\..\OpenMW_MSVC2019_64_${config}_${CI_COMMIT_REF_NAME}_${CI_JOB_ID}.zip '*'
|
|
|
|
cache:
|
|
|
|
key: ninja-v2
|
|
|
|
paths:
|
|
|
|
- deps
|
|
|
|
- MSVC2019_64_Ninja/deps/Qt
|
|
|
|
artifacts:
|
|
|
|
when: always
|
|
|
|
paths:
|
|
|
|
- "*.zip"
|
|
|
|
- "*.log"
|
|
|
|
- MSVC2019_64_Ninja/*.log
|
|
|
|
- MSVC2019_64_Ninja/*/*.log
|
|
|
|
- MSVC2019_64_Ninja/*/*/*.log
|
|
|
|
- MSVC2019_64_Ninja/*/*/*/*.log
|
|
|
|
- MSVC2019_64_Ninja/*/*/*/*/*.log
|
|
|
|
- MSVC2019_64_Ninja/*/*/*/*/*/*.log
|
|
|
|
- MSVC2019_64_Ninja/*/*/*/*/*/*/*.log
|
|
|
|
- MSVC2019_64_Ninja/*/*/*/*/*/*/*/*.log
|
|
|
|
|
|
|
|
Windows_Ninja_Engine_Release:
|
|
|
|
extends:
|
|
|
|
- .Windows_Ninja_Base
|
|
|
|
variables:
|
|
|
|
<<: *engine-targets
|
|
|
|
config: "Release"
|
|
|
|
|
|
|
|
Windows_Ninja_Engine_Debug:
|
|
|
|
extends:
|
|
|
|
- .Windows_Ninja_Base
|
|
|
|
variables:
|
|
|
|
<<: *engine-targets
|
|
|
|
config: "Debug"
|
|
|
|
|
|
|
|
Windows_Ninja_Engine_RelWithDebInfo:
|
|
|
|
extends:
|
|
|
|
- .Windows_Ninja_Base
|
|
|
|
variables:
|
|
|
|
<<: *engine-targets
|
|
|
|
config: "RelWithDebInfo"
|
|
|
|
|
|
|
|
Windows_Ninja_CS_Release:
|
|
|
|
extends:
|
|
|
|
- .Windows_Ninja_Base
|
|
|
|
variables:
|
|
|
|
<<: *cs-targets
|
|
|
|
config: "Release"
|
|
|
|
|
|
|
|
Windows_Ninja_CS_Debug:
|
|
|
|
extends:
|
|
|
|
- .Windows_Ninja_Base
|
|
|
|
variables:
|
|
|
|
<<: *cs-targets
|
|
|
|
config: "Debug"
|
|
|
|
|
|
|
|
Windows_Ninja_CS_RelWithDebInfo:
|
|
|
|
extends:
|
|
|
|
- .Windows_Ninja_Base
|
|
|
|
variables:
|
|
|
|
<<: *cs-targets
|
|
|
|
config: "RelWithDebInfo"
|
|
|
|
|
|
|
|
.Windows_MSBuild_Base:
|
|
|
|
tags:
|
|
|
|
- windows
|
|
|
|
before_script:
|
|
|
|
- Import-Module "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1"
|
|
|
|
- choco install git --force --params "/GitAndUnixToolsOnPath" -y
|
|
|
|
- choco install 7zip -y
|
|
|
|
- choco install cmake.install --installargs 'ADD_CMAKE_TO_PATH=System' -y
|
|
|
|
- choco install vswhere -y
|
|
|
|
- choco install python -y
|
|
|
|
- refreshenv
|
|
|
|
stage: build
|
|
|
|
script:
|
|
|
|
- $time = (Get-Date -Format "HH:mm:ss")
|
|
|
|
- echo ${time}
|
|
|
|
- echo "started by ${GITLAB_USER_NAME}"
|
|
|
|
- sh CI/before_script.msvc.sh -c $config -p Win64 -v 2019 -k -V
|
|
|
|
- cd MSVC2019_64
|
|
|
|
- cmake --build . --config $config --target $targets
|
|
|
|
- cd $config
|
|
|
|
- |
|
|
|
|
if (Get-ChildItem -Recurse *.pdb) {
|
|
|
|
7z a -tzip ..\..\OpenMW_MSVC2019_64_${config}_${CI_COMMIT_REF_NAME}_${CI_JOB_ID}_symbols.zip '*.pdb'
|
|
|
|
Get-ChildItem -Recurse *.pdb | Remove-Item
|
|
|
|
}
|
|
|
|
- 7z a -tzip ..\..\OpenMW_MSVC2019_64_${config}_${CI_COMMIT_REF_NAME}_${CI_JOB_ID}.zip '*'
|
|
|
|
cache:
|
|
|
|
key: msbuild-v2
|
|
|
|
paths:
|
|
|
|
- deps
|
|
|
|
- MSVC2019_64/deps/Qt
|
|
|
|
artifacts:
|
|
|
|
when: always
|
|
|
|
paths:
|
|
|
|
- "*.zip"
|
|
|
|
- "*.log"
|
|
|
|
- MSVC2019_64/*.log
|
|
|
|
- MSVC2019_64/*/*.log
|
|
|
|
- MSVC2019_64/*/*/*.log
|
|
|
|
- MSVC2019_64/*/*/*/*.log
|
|
|
|
- MSVC2019_64/*/*/*/*/*.log
|
|
|
|
- MSVC2019_64/*/*/*/*/*/*.log
|
|
|
|
- MSVC2019_64/*/*/*/*/*/*/*.log
|
|
|
|
- MSVC2019_64/*/*/*/*/*/*/*/*.log
|
|
|
|
|
|
|
|
Windows_MSBuild_Engine_Release:
|
|
|
|
extends:
|
|
|
|
- .Windows_MSBuild_Base
|
|
|
|
variables:
|
|
|
|
<<: *engine-targets
|
|
|
|
config: "Release"
|
|
|
|
|
|
|
|
Windows_MSBuild_Engine_Debug:
|
|
|
|
extends:
|
|
|
|
- .Windows_MSBuild_Base
|
|
|
|
variables:
|
|
|
|
<<: *engine-targets
|
|
|
|
config: "Debug"
|
|
|
|
|
|
|
|
Windows_MSBuild_Engine_RelWithDebInfo:
|
|
|
|
extends:
|
|
|
|
- .Windows_MSBuild_Base
|
|
|
|
variables:
|
|
|
|
<<: *engine-targets
|
|
|
|
config: "RelWithDebInfo"
|
|
|
|
|
|
|
|
Windows_MSBuild_CS_Release:
|
|
|
|
extends:
|
|
|
|
- .Windows_MSBuild_Base
|
|
|
|
variables:
|
|
|
|
<<: *cs-targets
|
|
|
|
config: "Release"
|
|
|
|
|
|
|
|
Windows_MSBuild_CS_Debug:
|
|
|
|
extends:
|
|
|
|
- .Windows_MSBuild_Base
|
|
|
|
variables:
|
|
|
|
<<: *cs-targets
|
|
|
|
config: "Debug"
|
|
|
|
|
|
|
|
Windows_MSBuild_CS_RelWithDebInfo:
|
|
|
|
extends:
|
|
|
|
- .Windows_MSBuild_Base
|
|
|
|
variables:
|
|
|
|
<<: *cs-targets
|
|
|
|
config: "RelWithDebInfo"
|