summaryrefslogtreecommitdiff
path: root/xmake/rules/c++
diff options
context:
space:
mode:
authorruki <[email protected]>2024-07-19 22:58:13 +0800
committerruki <[email protected]>2024-07-19 22:58:13 +0800
commit835d8e7bc6e5488c5e9fcb88b8fa56f4f4694e38 (patch)
tree5b200030e5a34791738dcacaa1b8f8b2ddf69f66 /xmake/rules/c++
parent5169dfdf8677bad2aaf1b74b73176578f8b390af (diff)
fix os.rm and uninstall modules
Diffstat (limited to 'xmake/rules/c++')
-rw-r--r--xmake/rules/c++/modules/modules_support/compiler_support.lua2
-rw-r--r--xmake/rules/c++/modules/xmake.lua9
2 files changed, 9 insertions, 2 deletions
diff --git a/xmake/rules/c++/modules/modules_support/compiler_support.lua b/xmake/rules/c++/modules/modules_support/compiler_support.lua
index 72e7b93fd..a005dc80d 100644
--- a/xmake/rules/c++/modules/modules_support/compiler_support.lua
+++ b/xmake/rules/c++/modules/modules_support/compiler_support.lua
@@ -293,7 +293,7 @@ function get_provided_module(module)
return name, provide, cppfile
end
-function install_module_target(target)
+function add_installfiles_for_modules(target)
local sourcebatch = target:sourcebatches()["c++.build.modules.install"]
if sourcebatch and sourcebatch.sourcefiles then
for _, sourcefile in ipairs(sourcebatch.sourcefiles) do
diff --git a/xmake/rules/c++/modules/xmake.lua b/xmake/rules/c++/modules/xmake.lua
index 90ba66c81..d658815aa 100644
--- a/xmake/rules/c++/modules/xmake.lua
+++ b/xmake/rules/c++/modules/xmake.lua
@@ -227,6 +227,13 @@ rule("c++.build.modules.install")
local modules = compiler_support.localcache():get2(target:name(), "c++.modules")
builder.generate_metadata(target, modules)
- compiler_support.install_module_target(target)
+ compiler_support.add_installfiles_for_modules(target)
+ end
+ end)
+
+ before_uninstall(function (target)
+ import("modules_support.compiler_support")
+ if compiler_support.contains_modules(target) then
+ compiler_support.add_installfiles_for_modules(target)
end
end)