diff options
| author | Ângelo Andrade Cirino <[email protected]> | 2022-01-10 10:23:17 -0300 |
|---|---|---|
| committer | Ângelo Andrade Cirino <[email protected]> | 2022-01-10 10:23:17 -0300 |
| commit | ed0c0c5e0249aa966ea7061b30710abdd0b09d87 (patch) | |
| tree | 2a51c869a3aea1a093ed569e749bdf0465634a6c /xmake/modules/core/project/depend.lua | |
| parent | 885d00da8caf74aeed758d030b9a1b50d9078e1f (diff) | |
| parent | 2431dd7e6142ff98b55741cfd4de4d2e69f4f8b5 (diff) | |
Merged from upstream/master
Diffstat (limited to 'xmake/modules/core/project/depend.lua')
| -rw-r--r-- | xmake/modules/core/project/depend.lua | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/xmake/modules/core/project/depend.lua b/xmake/modules/core/project/depend.lua index cb25db359..89a517c07 100644 --- a/xmake/modules/core/project/depend.lua +++ b/xmake/modules/core/project/depend.lua @@ -78,8 +78,8 @@ end function is_changed(dependinfo, opt) -- empty depend info? always be changed - local files = dependinfo.files or {} - local values = dependinfo.values or {} + local files = table.wrap(dependinfo.files) + local values = table.wrap(dependinfo.values) if #files == 0 and #values == 0 then return true end @@ -102,7 +102,7 @@ function is_changed(dependinfo, opt) -- check the dependent values are changed? local depvalues = values - local optvalues = opt.values or {} + local optvalues = table.wrap(opt.values) if #depvalues ~= #optvalues then return true end @@ -124,8 +124,11 @@ function is_changed(dependinfo, opt) end -- check the dependent files list are changed? - local optfiles = opt.files - if optfiles then + if opt.files then + local optfiles = table.wrap(opt.files) + if #files ~= #optfiles then + return true + end for idx, file in ipairs(files) do if file ~= optfiles[idx] then return true @@ -178,7 +181,7 @@ function on_changed(callback, opt) -- need build this object? -- @note we use mtime(dependfile) instead of mtime(objectfile) to ensure the object file is is fully compiled. -- @see https://github.com/xmake-io/xmake/issues/748 - if not is_changed(dependinfo, {lastmtime = opt.lastmtime or os.mtime(dependfile), values = opt.values}) then + if not is_changed(dependinfo, {lastmtime = opt.lastmtime or os.mtime(dependfile), values = opt.values, files = opt.files}) then return end |
