XMake: Use new syntax

This commit is contained in:
Lynix 2022-11-13 13:05:45 +01:00
parent 4eadb35b0d
commit 71c5133c7a
3 changed files with 24 additions and 18 deletions

View File

@ -23,10 +23,11 @@ if has_config("tests") then
add_rules("c++.unity_build") add_rules("c++.unity_build")
end end
target("NazaraUnitTests") target("NazaraUnitTests", function ()
add_files("main.cpp", {unity_ignored = true}) add_files("main.cpp", {unity_ignored = true})
if has_config("usepch") then if has_config("usepch") then
set_pcxxheader("Engine/Modules.hpp") set_pcxxheader("Engine/Modules.hpp")
end end
end)
end end

View File

@ -3,7 +3,7 @@ option("shadernodes", { description = "Build ShaderNodes tool (requires Qt)", de
if has_config("shadernodes") then if has_config("shadernodes") then
add_requires("nodeeditor", "qt5core", "qt5gui", "qt5widgets", {debug = is_mode("debug")}) add_requires("nodeeditor", "qt5core", "qt5gui", "qt5widgets", {debug = is_mode("debug")})
rule("qt5.env") rule("qt5.env", function ()
after_load(function (target) after_load(function (target)
-- retrieve qtbase -- retrieve qtbase
local qtdir local qtdir
@ -21,9 +21,9 @@ if has_config("shadernodes") then
target:data_set("qt", qtdir) target:data_set("qt", qtdir)
end) end)
end)
rule("qt5.moc", function ()
rule("qt5.moc")
add_deps("qt5.env") add_deps("qt5.env")
set_extensions(".h", ".hpp") set_extensions(".h", ".hpp")
before_buildcmd_file(function (target, batchcmds, sourcefile, opt) before_buildcmd_file(function (target, batchcmds, sourcefile, opt)
@ -92,8 +92,9 @@ if has_config("shadernodes") then
batchcmds:set_depmtime(os.mtime(objectfile)) batchcmds:set_depmtime(os.mtime(objectfile))
batchcmds:set_depcache(target:dependfile(objectfile)) batchcmds:set_depcache(target:dependfile(objectfile))
end) end)
end)
target("NazaraShaderNodes") target("NazaraShaderNodes", function ()
set_group("Tools") set_group("Tools")
set_kind("binary") set_kind("binary")
add_rules("qt5.moc") add_rules("qt5.moc")
@ -114,5 +115,5 @@ if has_config("shadernodes") then
add_headerfiles("../src/ShaderNode/**.hpp", "../src/ShaderNode/**.inl", { prefixdir = "private", install = false }) add_headerfiles("../src/ShaderNode/**.hpp", "../src/ShaderNode/**.inl", { prefixdir = "private", install = false })
add_files("../src/ShaderNode/**.cpp") add_files("../src/ShaderNode/**.cpp")
add_files("../src/ShaderNode/Previews/PreviewValues.cpp", { unity_ignored = true }) -- fixes an issue with MSVC and operator* add_files("../src/ShaderNode/Previews/PreviewValues.cpp", { unity_ignored = true }) -- fixes an issue with MSVC and operator*
end)
end end

View File

@ -112,11 +112,6 @@ local modules = {
for name, module in pairs(rendererBackends) do for name, module in pairs(rendererBackends) do
ModuleTargetConfig(name, module) ModuleTargetConfig(name, module)
end end
else
-- Register backends as separate modules
for name, module in pairs(rendererBackends) do
ModuleTarget(name, module)
end
end end
end end
}, },
@ -129,6 +124,18 @@ local modules = {
Packages = {"entt", "kiwisolver"} Packages = {"entt", "kiwisolver"}
} }
} }
if not has_config("embed_rendererbackends") then
-- Register backends as separate modules
for name, module in pairs(rendererBackends) do
if (modules[name] ~= nil) then
os.raise("overriding module " .. name)
end
modules[name] = module
end
end
NazaraModules = modules NazaraModules = modules
includes("xmake/**.lua") includes("xmake/**.lua")
@ -141,7 +148,7 @@ option("usepch", { description = "Use precompiled headers to speedup compilation
option("unitybuild", { description = "Build the engine using unity build", default = false }) option("unitybuild", { description = "Build the engine using unity build", default = false })
set_project("NazaraEngine") set_project("NazaraEngine")
set_xmakever("2.6.3") set_xmakever("2.7.3")
add_requires("chipmunk2d", "dr_wav", "efsw", "entt 3.10.1", "fmt", "frozen", "kiwisolver", "libflac", "libsdl", "minimp3", "ordered_map", "stb") add_requires("chipmunk2d", "dr_wav", "efsw", "entt 3.10.1", "fmt", "frozen", "kiwisolver", "libflac", "libsdl", "minimp3", "ordered_map", "stb")
add_requires("freetype", { configs = { bzip2 = true, png = true, woff2 = true, zlib = true, debug = is_mode("debug") } }) add_requires("freetype", { configs = { bzip2 = true, png = true, woff2 = true, zlib = true, debug = is_mode("debug") } })
@ -287,8 +294,8 @@ function ModuleTargetConfig(name, module)
end end
end end
function ModuleTarget(name, module) for name, module in pairs(modules) do
target("Nazara" .. name) target("Nazara" .. name, function ()
set_kind("shared") set_kind("shared")
set_group("Modules") set_group("Modules")
@ -323,10 +330,7 @@ function ModuleTarget(name, module)
add_includedirs("src") add_includedirs("src")
ModuleTargetConfig(name, module) ModuleTargetConfig(name, module)
end end)
for name, module in pairs(modules) do
ModuleTarget(name, module)
end end
includes("tools/*.lua") includes("tools/*.lua")