From 4dbf7c03641596dd9cd080c05761d159371219d9 Mon Sep 17 00:00:00 2001 From: Michael Wallner Date: Mon, 21 Dec 2020 16:15:46 +0100 Subject: [PATCH] ci: gh-actions: clang+libc++ cannot find headers --- .github/workflows/cmake-build-ci.gen | 72 +++++++++++++++------------- .github/workflows/cmake-build-ci.yml | 2 + 2 files changed, 40 insertions(+), 34 deletions(-) diff --git a/.github/workflows/cmake-build-ci.gen b/.github/workflows/cmake-build-ci.gen index 1e268f6a..9494590b 100755 --- a/.github/workflows/cmake-build-ci.gen +++ b/.github/workflows/cmake-build-ci.gen @@ -32,40 +32,6 @@ const DEF = [ "CXX" => "mingw", ] ]; -const ENV = [ - "ubuntu-20.04" => [ - "gnu" => [ - "new" => [ - "INSTALL_CC" => "gcc-10", - "INSTALL_CXX" => "g++-10", - ] - ], - "clang" => [ - "new" => [ - "CXXFLAGS" => "-stdlib=libc++" - ], - "cur" => [ - "CXXFLAGS" => "-stdlib=libc++" - ], - "old" => [ - "CXXFLAGS" => "-stdlib=libc++" - ], - ] - ], - "ubuntu-18.04" => [ - "clang" => [ - "new" => [ - "CXXFLAGS" => "-stdlib=libc++" - ], - "cur" => [ - "CXXFLAGS" => "-stdlib=libc++" - ], - "old" => [ - "CXXFLAGS" => "-stdlib=libc++" - ], - ] - ] -]; const MAP = [ 'env.OS_VER' => [ "ubuntu-20.04" => [ @@ -106,6 +72,44 @@ const MAP = [ ], ] ]; +const ENV = [ + "ubuntu-20.04" => [ + "gnu" => [ + "new" => [ + "INSTALL_CC" => "gcc-10", + "INSTALL_CXX" => "g++-10", + ] + ], + "clang" => [ + "new" => [ + "CXXFLAGS" => "-stdlib=libc++" + ], + "cur" => [ + "CXXFLAGS" => "-stdlib=libc++", + "INSTALL_CXX" => "libc++" + . MAP["env.OS_VER"]["ubuntu-20.04"]["env.CC_VND"]["clang"]["env.CC_VER"]["cur"] . "-dev" + ], + "old" => [ + "CXXFLAGS" => "-stdlib=libc++", + "INSTALL_CXX" => "libc++" + . MAP["env.OS_VER"]["ubuntu-20.04"]["env.CC_VND"]["clang"]["env.CC_VER"]["old"] . "-dev" + ], + ] + ], + "ubuntu-18.04" => [ + "clang" => [ + "new" => [ + "CXXFLAGS" => "-stdlib=libc++" + ], + "cur" => [ + "CXXFLAGS" => "-stdlib=libc++" + ], + "old" => [ + "CXXFLAGS" => "-stdlib=libc++" + ], + ] + ] +]; /** * @var bool $splat_map false = no splat map, null = default splat map, true = full splat map diff --git a/.github/workflows/cmake-build-ci.yml b/.github/workflows/cmake-build-ci.yml index 1823cc3b..1599bed7 100644 --- a/.github/workflows/cmake-build-ci.yml +++ b/.github/workflows/cmake-build-ci.yml @@ -446,12 +446,14 @@ jobs: echo CC="clang-9" >> ${GITHUB_ENV} echo CXX="clang++-9" >> ${GITHUB_ENV} echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV} + echo INSTALL_CXX="libc++-9-dev" >> ${GITHUB_ENV} - name: Prepare environment (for old clang on ubuntu-20.04) if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='clang') && (env.CC_VER=='old') run: | echo CC="clang-8" >> ${GITHUB_ENV} echo CXX="clang++-8" >> ${GITHUB_ENV} echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV} + echo INSTALL_CXX="libc++-8-dev" >> ${GITHUB_ENV} - name: Prepare environment (for new gnu on ubuntu-18.04) if: (env.OS_VER=='ubuntu-18.04') && (env.CC_VND=='gnu') && (env.CC_VER=='new') run: | -- 2.30.2