# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml

jobs:
- job: ubuntu_20_04_mem_pool_on
  displayName: 'Build - Ubuntu 20.04'
  continueOnError: false
  pool:
    vmImage: 'ubuntu-20.04'
  workspace:
    clean: all
  steps:
    - script: |
        mkdir build
    - script: |
        cmake -DCMAKE_BUILD_TYPE=Release ..
        make
      displayName: 'CMake'
      workingDirectory: build

    - script: |
        make test ARGS="-V"
      displayName: 'Test'
      workingDirectory: build

- job: ubuntu_22_04_mem_pool_on
  displayName: 'Build - Ubuntu 22.04'
  continueOnError: false
  pool:
    vmImage: 'ubuntu-22.04'
  workspace:
    clean: all
  steps:
    - script: |
        mkdir build
    - script: |
        cmake -DCMAKE_BUILD_TYPE=Release ..
        make
      displayName: 'CMake'
      workingDirectory: build

    - script: |
        make test ARGS="-V"
      displayName: 'Test'
      workingDirectory: build

- job: macOS_mem_pool_on
  displayName: 'Build - macOS'
  continueOnError: false
  pool:
    vmImage: 'macOS-latest'
  workspace:
    clean: all
  steps:
    - script: |
        mkdir build
    - script: |
        cmake -DCMAKE_BUILD_TYPE=Release ..
        make
      displayName: 'CMake'
      workingDirectory: build

    - script: |
        make test ARGS="-V"
      displayName: 'Test'
      workingDirectory: build

- job: windows_mem_pool_off
  displayName: 'Build - Windows'
  continueOnError: false
  pool:
    vmImage: 'windows-latest'
  workspace:
    clean: all
  steps:
    - script: |
        MD build
    - script: |
        cmake ..
        cmake --build .
      displayName: 'CMake'
      workingDirectory: build

    - script: |
        oatppAllTests.exe
      displayName: 'Test'
      workingDirectory: build\test\Debug\
