.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