summaryrefslogtreecommitdiff
path: root/xmake/rules/c++
diff options
context:
space:
mode:
authorruki <[email protected]>2024-07-23 12:50:50 +0800
committerGitHub <[email protected]>2024-07-23 12:50:50 +0800
commitd4364efee8f1906288ac5c650ae7bd101066240a (patch)
tree72baca766710b28ca154f4b0f0983d7e9d8abc00 /xmake/rules/c++
parent45852e6ffcd3f043d961574e72f40d287a2898ab (diff)
parent56ca5adad669d45f400198b0c99a1d20f546970c (diff)
Merge pull request #5335 from xmake-io/install
Improve installation
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)