Summary: An ubuntu-latest image update caused build failures, where GTest importing chrono headers caused an error inside of stdlib++ when being compiled by Clang. This switches to explicitly asking for libc++ (LLVM stdlib) in the reference Ubuntu Clang build instead of stdlibc++ (GCC stdlib). We don’t force this in CMake logic, to not force a specific stdlib for users compiling Yoga alongside other libraries. E.g. https://github.com/facebookexperimental/libunifex/issues/86 Pull Request resolved: https://github.com/facebook/yoga/pull/1440 Reviewed By: joevilches Differential Revision: D50790965 Pulled By: NickGerleman fbshipit-source-id: fe525cfb4385a9a5ae6a02fcbc6decad0e07ff6e
34 lines
942 B
YAML
34 lines
942 B
YAML
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
|