mirror of
https://github.com/cpm-cmake/CPM.cmake.git
synced 2025-11-22 04:07:49 -05:00
Investigate sol2 CI build issue (#648)
* trigger CI to see if sol2 example is reliably failing * attempt patch from github comment * fix patch * add info to comment on patch * run fix-format * simplify patchfile
This commit is contained in:
@@ -8,7 +8,7 @@ include(../../cmake/CPM.cmake)
|
|||||||
|
|
||||||
CPMAddPackage(
|
CPMAddPackage(
|
||||||
NAME lua
|
NAME lua
|
||||||
GIT_REPOSITORY https://github.com/lua/lua.git
|
GITHUB_REPOSITORY lua/lua
|
||||||
VERSION 5.3.5
|
VERSION 5.3.5
|
||||||
DOWNLOAD_ONLY YES
|
DOWNLOAD_ONLY YES
|
||||||
)
|
)
|
||||||
@@ -21,7 +21,13 @@ if(lua_ADDED)
|
|||||||
target_include_directories(lua SYSTEM PUBLIC $<BUILD_INTERFACE:${lua_SOURCE_DIR}>)
|
target_include_directories(lua SYSTEM PUBLIC $<BUILD_INTERFACE:${lua_SOURCE_DIR}>)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
CPMAddPackage("gh:ThePhD/sol2@3.3.0")
|
CPMAddPackage(
|
||||||
|
NAME sol2
|
||||||
|
GITHUB_REPOSITORY ThePhD/sol2
|
||||||
|
VERSION 3.3.0
|
||||||
|
# fix for clang 18.1.0, see https://github.com/ThePhD/sol2/issues/1581#issuecomment-2103463524
|
||||||
|
PATCHES fix_for_clang.patch
|
||||||
|
)
|
||||||
|
|
||||||
# ---- Executable ----
|
# ---- Executable ----
|
||||||
|
|
||||||
|
|||||||
18
examples/sol2/fix_for_clang.patch
Normal file
18
examples/sol2/fix_for_clang.patch
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
diff -u a/include/sol/function_types_stateless.hpp b/include/types/function_types_stateless.hpp
|
||||||
|
--- a/include/sol/function_types_stateless.hpp
|
||||||
|
+++ b/include/sol/function_types_stateless.hpp
|
||||||
|
@@ -322,7 +322,13 @@ namespace sol { namespace function_detail {
|
||||||
|
}
|
||||||
|
|
||||||
|
template <bool is_yielding, bool no_trampoline>
|
||||||
|
- static int call(lua_State* L) noexcept(std::is_nothrow_copy_assignable_v<T>) {
|
||||||
|
+ static int call(lua_State* L)
|
||||||
|
+#if SOL_IS_ON(SOL_COMPILER_CLANG)
|
||||||
|
+ // apparent regression in clang 18 - llvm/llvm-project#91362
|
||||||
|
+#else
|
||||||
|
+ noexcept(std::is_nothrow_copy_assignable_v<T>)
|
||||||
|
+#endif
|
||||||
|
+ {
|
||||||
|
int nr;
|
||||||
|
if constexpr (no_trampoline) {
|
||||||
|
nr = real_call(L);
|
||||||
Reference in New Issue
Block a user