name: Build

on: [push, pull_request]

concurrency:
  group: ${{ github.workflow }}-${{ github.job }}-${{ github.ref }}
  cancel-in-progress: true

permissions: read-all

jobs:

  Ubuntu:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Build Ubuntu
        run: |
          ./configure --with-fastfloat --with-threaded
          make 
          make check

  Ubuntu-20-04:
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@v2
      - name: Build Ubuntu
        run: |
          ./configure --with-fastfloat --with-threaded
          make 
          make check
          
  MacOS:
    runs-on: macos-latest
    steps:
      - uses: actions/checkout@v2
      - name: Build MacOS
        run: |
          ./configure --with-fastfloat --with-threaded
          make 
          make check        
    
  Windows-64:
    runs-on: windows-latest
    
    steps:
      - uses: actions/checkout@v2
      - uses: ilammy/msvc-dev-cmd@v1   
        with:
            arch: x64
                
      - name: Build Windows 64 bit        
        run: devenv .\Projects\VC2019\lcms2.sln /Rebuild "Release|x64" /Project testbed  
        
      - name: Run tests               
        run: testbed\testbed.exe --chdir testbed
            

  Windows-32:
    runs-on: windows-latest    
    steps:
      - uses: actions/checkout@v2
      - uses: ilammy/msvc-dev-cmd@v1   
        with:
            arch: win32
            
      - name: Build Windows 32 bit       
        run: devenv .\Projects\VC2019\lcms2.sln /Rebuild "Release|Win32" /Project testbed  

      - name: Run tests          
        run: testbed\testbed.exe --chdir testbed
                    
        
  Ubuntu-meson:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2

      - name: Install packages
        run: |
          sudo apt-get -y install build-essential python3-pip ninja-build
          pip install meson==0.59.2

      - name: Build Ubuntu
        run: |
          meson setup build -Dfastfloat=true -Dthreaded=true
          meson compile -C build
          meson test -C build

  VisualStudio-meson:
    runs-on: windows-latest

    steps:
      - uses: actions/checkout@v2

      - name: Install packages
        run: |
          pip install meson==0.59.2

      - uses: ilammy/msvc-dev-cmd@v1
      - name: Build Windows
        run: |
          meson setup build
          meson compile -C build
          meson test -C build

