variables:
  SampleName: CAS_Sample
  GIT_SUBMODULE_STRATEGY: normal

stages:
  - build
  - deploy

build_dx12:
  tags:
  - windows
  - amd64
  stage: build
  artifacts:
    paths:
    - sample/bin/
  script:
  - 'cmake -S sample -B sample/build/DX12 -G "Visual Studio 15 2017" -A x64 -DGFX_API=DX12'
  - 'cmake --build sample/build/DX12 --config Release'

build_vk:
  tags:
  - windows
  - amd64
  stage: build
  artifacts:
    paths:
    - sample/bin/
  script:
  - 'cmake -S sample -B sample/build/VK -G "Visual Studio 15 2017" -A x64 -DGFX_API=VK'
  - 'cmake --build sample/build/VK --config Release'

package_sample:
  tags:
  - windows
  - amd64
  stage: deploy
  dependencies:
    - build_dx12
    - build_vk
  script:
    - echo "Packaging build"
    - copy %VULKAN_SDK%\Bin\glslc.exe .\sample\bin
    - echo cd .\sample\bin\ > %SampleName%_VK.bat
    - echo start %SampleName%_VK.exe >> %SampleName%_VK.bat
    - echo cd .\sample\bin\ > %SampleName%_DX12.bat
    - echo start %SampleName%_DX12.exe >> %SampleName%_DX12.bat
  artifacts:
      name: "%SampleName%-%CI_COMMIT_TAG%-%CI_COMMIT_REF_NAME%-%CI_COMMIT_SHORT_SHA%"
      paths:
      - "NOTICES.txt"
      - "sample/bin/"
      - "sample/media/"
      - "docs/"
      - "readme.md"
      - "%SampleName%_VK.bat"
      - "%SampleName%_DX12.bat"