summaryrefslogtreecommitdiff
path: root/xmake/rules/c++/modules/xmake.lua
diff options
context:
space:
mode:
authorArthur LAURENT <[email protected]>2022-12-05 01:29:44 +0100
committerArthur LAURENT <[email protected]>2022-12-05 02:37:42 +0100
commit1eca14c1a39eb899b23cd7560b9a0ea274f1c3e3 (patch)
treeea53478ffcfd99a36099ea702d0b64fd3703360d /xmake/rules/c++/modules/xmake.lua
parent49d732c29c8e97ad09fbf35effa1b7bdeda1c727 (diff)
add support of prefixdir and installation configuration for modules
Diffstat (limited to 'xmake/rules/c++/modules/xmake.lua')
-rw-r--r--xmake/rules/c++/modules/xmake.lua12
1 files changed, 11 insertions, 1 deletions
diff --git a/xmake/rules/c++/modules/xmake.lua b/xmake/rules/c++/modules/xmake.lua
index 5c90cd3ea..8d48cb0bf 100644
--- a/xmake/rules/c++/modules/xmake.lua
+++ b/xmake/rules/c++/modules/xmake.lua
@@ -141,7 +141,17 @@ rule("c++.build.modules.install")
if common.contains_modules(target) then
local sourcebatch = target:sourcebatches()["c++.build.modules.install"]
if sourcebatch then
- target:add("installfiles", sourcebatch.sourcefiles, {prefixdir = "include"})
+ for _, sourcefile in sourcebatch.sourcefiles do
+ local prefixdir = "modules"
+ local fileconfig = target:fileconfig(sourcefile)
+ if fileconfig and fileconfig.prefixdir then
+ prefixdir = fileconfig.prefixdir
+ end
+ local install = (fileconfig and not fileconfig.install) and false or true
+ if install then
+ target:add("installfiles", sourcefile, {prefixdir = prefixdir})
+ end
+ end
end
end
end)