[3PP] Uplifted Premake to 5.0-beta6 and cleaned up premake file

This commit is contained in:
Gliniak
2025-03-31 22:04:55 +02:00
committed by Radosław Gliński
parent a0d199cd35
commit 30dcc09714
3 changed files with 21 additions and 33 deletions

View File

@@ -30,6 +30,8 @@ cppdialect("C++20")
exceptionhandling("On") exceptionhandling("On")
rtti("On") rtti("On")
symbols("On") symbols("On")
characterset("Unicode")
fatalwarnings("All")
-- TODO(DrChat): Find a way to disable this on other architectures. -- TODO(DrChat): Find a way to disable this on other architectures.
if ARCH ~= "ppc64" then if ARCH ~= "ppc64" then
@@ -38,11 +40,6 @@ if ARCH ~= "ppc64" then
filter({}) filter({})
end end
characterset("Unicode")
flags({
"FatalWarnings", -- Treat warnings as errors.
})
filter("kind:StaticLib") filter("kind:StaticLib")
defines({ defines({
"_LIB", "_LIB",
@@ -58,19 +55,16 @@ filter("configurations:Checked")
defines({ defines({
"DEBUG", "DEBUG",
}) })
filter({"configurations:Checked", "platforms:Windows"}) filter({"configurations:Checked", "platforms:Windows"})
buildoptions({ buildoptions({
"/RTCsu", -- Full Run-Time Checks. "/RTCsu", -- Full Run-Time Checks.
}) })
filter({"configurations:Checked", "platforms:Linux"}) filter({"configurations:Checked", "platforms:Linux"})
defines({ defines({
"_GLIBCXX_DEBUG", -- libstdc++ debug mode "_GLIBCXX_DEBUG", -- libstdc++ debug mode
}) })
filter({"configurations:Release", "platforms:Windows"})
buildoptions({
"/Gw",
"/Ob3",
})
filter("configurations:Debug") filter("configurations:Debug")
runtime("Release") runtime("Release")
@@ -79,6 +73,7 @@ filter("configurations:Debug")
"DEBUG", "DEBUG",
"_NO_DEBUG_HEAP=1", "_NO_DEBUG_HEAP=1",
}) })
filter({"configurations:Debug", "platforms:Linux"}) filter({"configurations:Debug", "platforms:Linux"})
defines({ defines({
"_GLIBCXX_DEBUG", -- make dbg symbols work on some distros "_GLIBCXX_DEBUG", -- make dbg symbols work on some distros
@@ -92,19 +87,28 @@ filter("configurations:Release")
}) })
optimize("Speed") optimize("Speed")
inlining("Auto") inlining("Auto")
flags({ editandcontinue("Off")
"LinkTimeOptimization",
"NoBufferSecurityCheck",
})
-- Not using floatingpoint("Fast") - NaN checks are used in some places -- Not using floatingpoint("Fast") - NaN checks are used in some places
-- (though rarely), overall preferable to avoid any functional differences -- (though rarely), overall preferable to avoid any functional differences
-- between debug and release builds, and to have calculations involved in GPU -- between debug and release builds, and to have calculations involved in GPU
-- (especially anything that may affect vertex position invariance) and CPU -- (especially anything that may affect vertex position invariance) and CPU
-- (such as constant propagation) emulation as predictable as possible, -- (such as constant propagation) emulation as predictable as possible,
-- including handling of specials since games make assumptions about them. -- including handling of specials since games make assumptions about them.
filter({"configurations:Release", "platforms:Windows"})
linktimeoptimization("On")
flags({
"NoBufferSecurityCheck"
})
buildoptions({
"/Gw",
"/Ob3",
})
filter("platforms:Linux") filter("platforms:Linux")
system("linux") system("linux")
toolset("clang") toolset("clang")
vectorextensions("AVX2")
buildoptions({ buildoptions({
-- "-mlzcnt", -- (don't) Assume lzcnt is supported. -- "-mlzcnt", -- (don't) Assume lzcnt is supported.
}) })
@@ -117,9 +121,6 @@ filter("platforms:Linux")
"rt", "rt",
}) })
filter({"platforms:Linux"})
vectorextensions("AVX2")
filter({"platforms:Linux", "kind:*App"}) filter({"platforms:Linux", "kind:*App"})
linkgroups("On") linkgroups("On")
@@ -151,9 +152,6 @@ filter({"platforms:Linux", "language:C++", "toolset:clang"})
"deprecated-enum-enum-conversion", "deprecated-enum-enum-conversion",
"attributes", "attributes",
}) })
removeflags({
"FatalWarnings"
})
filter({"platforms:Linux", "language:C++", "toolset:clang", "files:*.cc or *.cpp"}) filter({"platforms:Linux", "language:C++", "toolset:clang", "files:*.cc or *.cpp"})
buildoptions({ buildoptions({
"-stdlib=libstdc++", "-stdlib=libstdc++",
@@ -182,16 +180,8 @@ filter("platforms:Windows")
toolset("msc") toolset("msc")
buildoptions({ buildoptions({
"/utf-8", -- 'build correctly on systems with non-Latin codepages'. "/utf-8", -- 'build correctly on systems with non-Latin codepages'.
-- Mark warnings as severe
"/w14839", -- non-standard use of class 'type' as an argument to a variadic function
"/w14840", -- non-portable use of class 'type' as an argument to a variadic function
-- Disable warnings -- Disable warnings
"/wd4100", -- Unreferenced parameters are ok.
"/wd4201", -- Nameless struct/unions are ok. "/wd4201", -- Nameless struct/unions are ok.
"/wd4512", -- 'assignment operator was implicitly defined as deleted'.
"/wd4127", -- 'conditional expression is constant'.
"/wd4324", -- 'structure was padded due to alignment specifier'.
"/wd4189", -- 'local variable is initialized but not referenced'.
}) })
flags({ flags({
"MultiProcessorCompile", -- Multiprocessor compilation. "MultiProcessorCompile", -- Multiprocessor compilation.
@@ -300,9 +290,7 @@ workspace("xenia")
removefiles({ removefiles({
"src/xenia/base/app_win32.manifest" "src/xenia/base/app_win32.manifest"
}) })
removeflags({ removefatalwarnings("All")
"FatalWarnings",
})
end end
include("src/xenia") include("src/xenia")