Skip to content

Commit 498de5c

Browse files
committed
build: move most rule logic to shared
1 parent e69e338 commit 498de5c

4 files changed

Lines changed: 40 additions & 177 deletions

File tree

res/commonlibf4-plugin.cpp.in

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#include <F4SE/F4SE.h>
2+
3+
F4SE_PLUGIN_VERSION = []() noexcept {
4+
F4SE::PluginVersionData v{};
5+
v.PluginVersion({ ${COMMONLIB_PLUGIN_VERSION_MAJOR}, ${COMMONLIB_PLUGIN_VERSION_MINOR}, ${COMMONLIB_PLUGIN_VERSION_PATCH}, 0 });
6+
v.PluginName("${COMMONLIB_PLUGIN_NAME}");
7+
v.AuthorName("${COMMONLIB_PLUGIN_AUTHOR}");
8+
v.UsesAddressLibrary(true);
9+
v.UsesSigScanning(false);
10+
v.IsLayoutDependent(true);
11+
v.HasNoStructUse(false);
12+
v.CompatibleVersions({ F4SE::RUNTIME_LATEST });
13+
return v;
14+
}();

xmake-rules.lua

Lines changed: 0 additions & 175 deletions
This file was deleted.

xmake.lua

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ add_rules("mode.debug", "mode.releasedbg")
1212

1313
-- include subprojects
1414
includes("lib/commonlib-shared")
15-
includes("xmake-rules.lua")
1615

1716
-- define targets
1817
target("commonlibf4", function()
@@ -42,3 +41,28 @@ target("commonlibf4", function()
4241
-- set precompiled header
4342
set_pcxxheader("include/F4SE/Impl/PCH.h")
4443
end)
44+
45+
rule("commonlibf4.plugin", function()
46+
add_deps("commonlib.plugin")
47+
48+
on_load(function(target)
49+
target:data_set("commonlib.plugin.config", target:extraconf("rules", "commonlibf4.plugin"))
50+
target:data_set("commonlib.plugin.package", { prefixdir = "Data" })
51+
end)
52+
53+
on_config(function(target)
54+
target:add("deps", "commonlibf4")
55+
56+
target:add("configfiles", path.join(os.scriptdir(), "res/commonlibf4-plugin.cpp.in"))
57+
target:add("files", path.join(target:configdir(), "commonlibf4-plugin.cpp"))
58+
59+
if os.getenv("XSE_FO4_MODS_PATH") then
60+
target:set("installdir", path.join(os.getenv("XSE_FO4_MODS_PATH"), target:name()))
61+
elseif os.getenv("XSE_FO4_GAME_PATH") then
62+
target:set("installdir", path.join(os.getenv("XSE_FO4_GAME_PATH"), "Data"))
63+
end
64+
65+
target:add("installfiles", target:targetfile(), { prefixdir = "F4SE/Plugins" })
66+
target:add("installfiles", target:symbolfile(), { prefixdir = "F4SE/Plugins" })
67+
end)
68+
end)

0 commit comments

Comments
 (0)