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 { buildoptions_cpp {
"-Wsuggest-override", "-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
end end
@ -1036,7 +1031,7 @@ end
local version = str_to_version(_OPTIONS["gcc_version"]) 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 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") print("Clang version 6.0 or later needed")
os.exit(-1) os.exit(-1)
end end
@ -1065,23 +1060,28 @@ end
} }
end end
else else
if (version < 70000) then if version < 70000 then
print("GCC version 7.0 or later needed") print("GCC version 7.0 or later needed")
os.exit(-1) os.exit(-1)
end end
buildoptions_cpp {
"-Wimplicit-fallthrough",
}
buildoptions_objcpp {
"-Wimplicit-fallthrough",
}
buildoptions {
"-Wno-unused-result", -- needed for fgets,fread on linux
-- array bounds checking seems to be buggy in 4.8.1 (try it on video/stvvdp1.c and video/model1.c without -Wno-array-bounds)
"-Wno-array-bounds",
"-Wno-error=attributes", -- GCC fails to recognize some uses of [[maybe_unused]]
}
if version < 100000 then
buildoptions_cpp { buildoptions_cpp {
"-Wimplicit-fallthrough", "-flifetime-dse=1", -- GCC 9 takes issue with Sol's get<std::optional<T> >() otherwise
} }
buildoptions_objcpp { end
"-Wimplicit-fallthrough", if version >= 80000 then
}
buildoptions {
"-Wno-unused-result", -- needed for fgets,fread on linux
-- array bounds checking seems to be buggy in 4.8.1 (try it on video/stvvdp1.c and video/model1.c without -Wno-array-bounds)
"-Wno-array-bounds",
"-Wno-error=attributes", -- GCC fails to recognize some uses of [[maybe_unused]]
}
if (version >= 80000) then
buildoptions { buildoptions {
"-Wno-stringop-truncation", -- ImGui again "-Wno-stringop-truncation", -- ImGui again
"-Wno-stringop-overflow", -- formats/victor9k_dsk.cpp bugs the compiler "-Wno-stringop-overflow", -- formats/victor9k_dsk.cpp bugs the compiler
@ -1090,7 +1090,7 @@ end
"-Wno-class-memaccess", -- many instances in ImGui and BGFX "-Wno-class-memaccess", -- many instances in ImGui and BGFX
} }
end end
if (version >= 110000) then if version >= 110000 then
buildoptions { buildoptions {
"-Wno-nonnull", -- luaengine.cpp lambdas do not need "this" captured but GCC 11.1 erroneously insists "-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 "-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