summaryrefslogtreecommitdiff
path: root/xmake/actions/config/configfiles.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2022-09-22 00:37:39 +0800
committerruki <[email protected]>2022-09-22 00:37:39 +0800
commit4824c5a2caed91686a3be52bee694bc29e206825 (patch)
tree7ead1406bf525b38076648454d85ac15741598df /xmake/actions/config/configfiles.lua
parent5d7a01ef08b5d20f43d32a91446933bf641b8cf0 (diff)
improve to generate configfiles #2846
Diffstat (limited to 'xmake/actions/config/configfiles.lua')
-rw-r--r--xmake/actions/config/configfiles.lua13
1 files changed, 8 insertions, 5 deletions
diff --git a/xmake/actions/config/configfiles.lua b/xmake/actions/config/configfiles.lua
index ae3a4f0f1..7784096d1 100644
--- a/xmake/actions/config/configfiles.lua
+++ b/xmake/actions/config/configfiles.lua
@@ -22,6 +22,7 @@
import("core.base.option")
import("core.base.semver")
import("core.project.config")
+import("core.project.depend")
import("core.project.project")
import("core.platform.platform")
import("lib.detect.find_tool")
@@ -311,17 +312,19 @@ function _generate_configfile(srcfile, dstfile, fileinfo, targets)
end
-- the main entry function
-function main()
+function main(opt)
-- enter project directory
+ opt = opt or {}
local oldir = os.cd(project.directory())
- -- get all configuration files
- local configfiles = _get_configfiles()
-
-- generate all configuration files
+ local configfiles = _get_configfiles()
for dstfile, srcinfo in pairs(configfiles) do
- _generate_configfile(srcinfo.srcfile, dstfile, srcinfo.fileinfo, srcinfo.targets)
+ depend.on_changed(function ()
+ _generate_configfile(srcinfo.srcfile, dstfile, srcinfo.fileinfo, srcinfo.targets)
+ end, {files = srcinfo.srcfile,
+ always_changed = opt.force})
end
-- leave project directory