mirror of https://github.com/AxioDL/metaforce.git
138 lines
3.9 KiB
YAML
138 lines
3.9 KiB
YAML
.build:variables:
|
|
variables: &build_variables
|
|
GIT_SUBMODULE_STRATEGY: recursive
|
|
|
|
build:macos:universal:
|
|
stage: build
|
|
tags:
|
|
- macos
|
|
- arm64
|
|
variables:
|
|
<<: *build_variables
|
|
script:
|
|
- export PATH="/opt/homebrew/bin:$PATH"
|
|
- mkdir build-{arm64,x86_64}
|
|
- cd build-arm64
|
|
- >
|
|
cmake
|
|
-GNinja
|
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo
|
|
-DURDE_DLPACKAGE=urde-$CI_PIPELINE_ID-macos-universal
|
|
..
|
|
- ninja urde hecl visigen
|
|
- cd ../build-x86_64
|
|
- >
|
|
cmake
|
|
-GNinja
|
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo
|
|
-DCMAKE_APPLE_SILICON_PROCESSOR=x86_64
|
|
-DURDE_DLPACKAGE=urde-$CI_PIPELINE_ID-macos-universal
|
|
-DURDE_VECTOR_ISA=sse41
|
|
..
|
|
- ninja urde hecl visigen
|
|
- cd Binaries
|
|
- cp -R urde.app $CI_PROJECT_DIR/URDE.app
|
|
- cd $CI_PROJECT_DIR
|
|
- lipo -create -output URDE.app/Contents/MacOS/urde build-{x86_64,arm64}/Binaries/urde.app/Contents/MacOS/urde
|
|
- lipo -create -output URDE.app/Contents/MacOS/hecl build-{x86_64,arm64}/Binaries/urde.app/Contents/MacOS/hecl
|
|
- lipo -create -output URDE.app/Contents/MacOS/visigen build-{x86_64,arm64}/Binaries/urde.app/Contents/MacOS/visigen
|
|
- strip -S -o URDE.app/Contents/MacOS/urde URDE.app/Contents/MacOS/urde
|
|
- strip -S -o URDE.app/Contents/MacOS/hecl URDE.app/Contents/MacOS/hecl
|
|
- strip -S -o URDE.app/Contents/MacOS/visigen URDE.app/Contents/MacOS/visigen
|
|
- (if [ "${URDE_MACOS_CODESIGN_UID}" != "" ]; then codesign -s $URDE_MACOS_CODESIGN_UID --deep URDE.app; else echo "Unable to sign app bundle :("; fi);
|
|
only:
|
|
- release
|
|
- dev
|
|
artifacts:
|
|
name: "urde-$CI_PIPELINE_ID-macos-universal"
|
|
paths:
|
|
- URDE.app/
|
|
expire_in: 1 week
|
|
|
|
build:linux:appimage:
|
|
stage: build
|
|
tags:
|
|
- linux
|
|
script:
|
|
- VERSION=$CI_PIPELINE_ID ./lxd-build-appimage.sh
|
|
only:
|
|
- release
|
|
- dev
|
|
artifacts:
|
|
name: "urde-$CI_PIPELINE_ID-linux-x86_64-appimage"
|
|
paths:
|
|
- URDE-$CI_PIPELINE_ID-x86_64.AppImage
|
|
expire_in: 1 week
|
|
|
|
.build:win32: &win32_definition
|
|
stage: build
|
|
tags:
|
|
- win32
|
|
script:
|
|
- cmd.exe /c "call `"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat`" && set > %temp%\vcvars.txt"
|
|
- >
|
|
Get-Content "$env:temp\vcvars.txt" | Foreach-Object {
|
|
if ($_ -match "^(.*?)=(.*)$") {
|
|
Set-Content "env:\$($matches[1])" $matches[2]
|
|
}
|
|
}
|
|
- mkdir build
|
|
- cd build
|
|
- >
|
|
cmake
|
|
-GNinja
|
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo
|
|
-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded
|
|
-DURDE_DLPACKAGE="urde-$env:CI_PIPELINE_ID-win32-x86_64-$env:URDE_VECTOR_ISA"
|
|
-DURDE_VECTOR_ISA="$env:URDE_VECTOR_ISA"
|
|
-DLLVM_ROOT_DIR=C:\projects\deps\llvm
|
|
-DCMAKE_C_FLAGS=
|
|
-DCMAKE_CXX_FLAGS=
|
|
..
|
|
- ninja urde hecl visigen
|
|
- 'copy Binaries\urde.exe "$env:CI_PROJECT_DIR\urde.exe"'
|
|
- 'pdbcopy Binaries\urde.pdb "$env:CI_PROJECT_DIR\urde.pdb" -p'
|
|
- 'copy Binaries\hecl.exe "$env:CI_PROJECT_DIR\hecl.exe"'
|
|
- 'pdbcopy Binaries\hecl.pdb "$env:CI_PROJECT_DIR\hecl.pdb" -p'
|
|
- 'copy Binaries\visigen.exe "$env:CI_PROJECT_DIR\visigen.exe"'
|
|
- 'pdbcopy Binaries\visigen.pdb "$env:CI_PROJECT_DIR\visigen.pdb" -p'
|
|
only:
|
|
- release
|
|
- dev
|
|
artifacts:
|
|
name: "urde-$env:CI_PIPELINE_ID-win32-x86_64-$env:URDE_VECTOR_ISA"
|
|
paths:
|
|
- urde.exe
|
|
- urde.pdb
|
|
- hecl.exe
|
|
- hecl.pdb
|
|
- visigen.exe
|
|
- visigen.pdb
|
|
expire_in: 1 week
|
|
|
|
build:win32:sse41:
|
|
<<: *win32_definition
|
|
variables:
|
|
<<: *build_variables
|
|
URDE_VECTOR_ISA: sse41
|
|
|
|
build:win32:avx:
|
|
<<: *win32_definition
|
|
variables:
|
|
<<: *build_variables
|
|
URDE_VECTOR_ISA: avx
|
|
|
|
deploy:
|
|
stage: deploy
|
|
only:
|
|
- release
|
|
- dev
|
|
dependencies: []
|
|
tags:
|
|
- server
|
|
variables:
|
|
GIT_STRATEGY: none
|
|
script:
|
|
- python3 /var/lib/gitlab-runner/deploy_urde.py $CI_PIPELINE_ID $CI_COMMIT_REF_NAME
|
|
|