ci: gh-actions: clang+libc++ cannot find headers
[awesomized/libmemcached] / .github / workflows / cmake-build-ci.gen
index 0376fd3aa74d8df2be0f03d0638a6531c755b34e..9494590bd66945bb79d7d03b57050b670491a027 100755 (executable)
@@ -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
@@ -248,7 +252,7 @@ function steps_package() {
       - name: Package
         env:
           PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
-        if: env.CC_VER == 'cur' && env.CMAKE_BUILD_TYPE == 'Release'
+        if: env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new  ')
         run: |
           cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
           cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package