name: Setup C++ envirionment
inputs:
  toolchain:
    description: Compiler toolchain to use (Clang, GCC, or MSVC)
    required: false
    default: 'Clang'

runs:
  using: "composite"
  steps:
    - name: Install Ninja
      if: ${{ runner.os != 'Windows' }}
      uses: ./.github/actions/install-ninja

    - name: Set Clang as compiler
      if: ${{ inputs.toolchain == 'Clang' }}
      shell: bash
      run: |
        echo "CC=/usr/bin/clang" >> $GITHUB_ENV
        echo "CXX=/usr/bin/clang++" >> $GITHUB_ENV
        echo "CXXFLAGS=-stdlib=libc++" >> $GITHUB_ENV
        echo "LDFLAGS=-stdlib=libc++" >> $GITHUB_ENV

    - name: Set GCC as compiler
      if: ${{ inputs.toolchain == 'GCC' }}
      shell: bash
      run: |
        echo "CC=/usr/bin/gcc" >> $GITHUB_ENV
        echo "CXX=/usr/bin/g++" >> $GITHUB_ENV

    - name: Setup VS Developer Command Prompt
      if: ${{ runner.os == 'Windows' }}
      uses: ilammy/msvc-dev-cmd@v1
