Apparently the issue with Sol and std::optional is a GCC version thing, not Linux vs MinGW.

Also, tidied up the test views in some more fruit machine layouts.
This commit is contained in:
Vas Crabb 2022-04-06 04:15:25 +10:00
parent a2ea498286
commit ae8634669a
9 changed files with 299 additions and 8083 deletions

View File

@ -93,11 +93,6 @@ function addprojectflags()
buildoptions_cpp {
"-Wsuggest-override",
}
configuration { "linux-*" }
buildoptions_cpp {
"-flifetime-dse=1", -- GCC for Linux takes issue with Sol's get<std::optional<T> >() otherwise
}
configuration {}
end
end
@ -1036,7 +1031,7 @@ end
local version = str_to_version(_OPTIONS["gcc_version"])
if string.find(_OPTIONS["gcc"], "clang") or string.find(_OPTIONS["gcc"], "asmjs") or string.find(_OPTIONS["gcc"], "android") then
if (version < 60000) then
if version < 60000 then
print("Clang version 6.0 or later needed")
os.exit(-1)
end
@ -1065,7 +1060,7 @@ end
}
end
else
if (version < 70000) then
if version < 70000 then
print("GCC version 7.0 or later needed")
os.exit(-1)
end
@ -1081,7 +1076,12 @@ end
"-Wno-array-bounds",
"-Wno-error=attributes", -- GCC fails to recognize some uses of [[maybe_unused]]
}
if (version >= 80000) then
if version < 100000 then
buildoptions_cpp {
"-flifetime-dse=1", -- GCC 9 takes issue with Sol's get<std::optional<T> >() otherwise
}
end
if version >= 80000 then
buildoptions {
"-Wno-stringop-truncation", -- ImGui again
"-Wno-stringop-overflow", -- formats/victor9k_dsk.cpp bugs the compiler
@ -1090,7 +1090,7 @@ end
"-Wno-class-memaccess", -- many instances in ImGui and BGFX
}
end
if (version >= 110000) then
if version >= 110000 then
buildoptions {
"-Wno-nonnull", -- luaengine.cpp lambdas do not need "this" captured but GCC 11.1 erroneously insists
"-Wno-stringop-overread", -- machine/bbc.cpp in GCC 11.1

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff