.build:variables: variables: &build_variables GIT_SUBMODULE_STRATEGY: recursive .build:macos: &macos_definition stage: build tags: - macos script: - mkdir build - cd build - > cmake -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DURDE_DLPACKAGE=urde-$CI_PIPELINE_ID-macos-x86_64-$URDE_VECTOR_ISA -DURDE_VECTOR_ISA=$URDE_VECTOR_ISA .. - ninja urde hecl visigen - cd Binaries - cp -R urde.app $CI_PROJECT_DIR/URDE.app - cd $CI_PROJECT_DIR - 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-x86_64-$URDE_VECTOR_ISA" paths: - URDE.app/ expire_in: 1 week build:macos:sse3: <<: *macos_definition variables: <<: *build_variables URDE_VECTOR_ISA: sse3 build:macos:sse41: <<: *macos_definition variables: <<: *build_variables URDE_VECTOR_ISA: sse41 build:macos:avx: <<: *macos_definition variables: <<: *build_variables URDE_VECTOR_ISA: avx build:macos:avx2: <<: *macos_definition variables: <<: *build_variables URDE_VECTOR_ISA: avx2 .build:linux: &linux_definition stage: build tags: - linux script: - mkdir build - cd build - > cmake -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DURDE_DLPACKAGE=urde-$CI_PIPELINE_ID-linux-x86_64-$URDE_VECTOR_ISA -DURDE_VECTOR_ISA=$URDE_VECTOR_ISA .. - nice -n19 ninja -j8 urde hecl visigen - cp Binaries/urde $CI_PROJECT_DIR - strip --strip-debug -o $CI_PROJECT_DIR/urde Binaries/urde - rm -r $CI_PROJECT_DIR/hecl - strip --strip-debug -o $CI_PROJECT_DIR/hecl Binaries/hecl - rm -r $CI_PROJECT_DIR/visigen - strip --strip-debug -o $CI_PROJECT_DIR/visigen Binaries/visigen only: - release - dev artifacts: name: "urde-$CI_PIPELINE_ID-linux-x86_64-$URDE_VECTOR_ISA" paths: - urde - hecl - visigen expire_in: 1 week build:linux:sse3: <<: *linux_definition variables: <<: *build_variables URDE_VECTOR_ISA: sse3 build:linux:sse41: <<: *linux_definition variables: <<: *build_variables URDE_VECTOR_ISA: sse41 build:linux:avx: <<: *linux_definition variables: <<: *build_variables URDE_VECTOR_ISA: avx build:linux:avx2: <<: *linux_definition variables: <<: *build_variables URDE_VECTOR_ISA: avx2 .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:sse2: <<: *win32_definition variables: <<: *build_variables URDE_VECTOR_ISA: sse2 build:win32:sse41: <<: *win32_definition variables: <<: *build_variables URDE_VECTOR_ISA: sse41 build:win32:avx: <<: *win32_definition variables: <<: *build_variables URDE_VECTOR_ISA: avx build:win32:avx2: <<: *win32_definition variables: <<: *build_variables URDE_VECTOR_ISA: avx2 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