diff options
| author | ruki <[email protected]> | 2018-04-12 00:49:03 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2018-04-11 22:54:23 +0800 |
| commit | 67bfa73b2ae4ddfa3f5c001685bdb063a0454ec1 (patch) | |
| tree | e9018f32a1c66073aff796ffc48a010839699929 /xmake/actions | |
| parent | 6d36e632a581a487f275cd77cf72c52dd67eedef (diff) | |
add orderules and on_load
Diffstat (limited to 'xmake/actions')
| -rw-r--r-- | xmake/actions/build/kinds/object.lua | 14 | ||||
| -rw-r--r-- | xmake/actions/require/package.lua | 12 |
2 files changed, 17 insertions, 9 deletions
diff --git a/xmake/actions/build/kinds/object.lua b/xmake/actions/build/kinds/object.lua index 9f8c6ea47..14d30f5bb 100644 --- a/xmake/actions/build/kinds/object.lua +++ b/xmake/actions/build/kinds/object.lua @@ -304,14 +304,14 @@ function _build_files_with_rule(target, buildinfo, sourcebatch, jobs) local ruleinst = project.rule(rulename) or rule.rule(rulename) assert(ruleinst, "unknown rule: %s", rulename) - -- build files? - local build_files = ruleinst:script("build_files") - if build_files then - build_files(target, sourcebatch.sourcefiles) + -- on_build_files? + local on_build_files = ruleinst:script("build_files") + if on_build_files then + on_build_files(target, sourcebatch.sourcefiles) else -- get the build file script - local build_file = ruleinst:script("build_file") - assert(build_file, "rule(%s): on_build_file() script not found!", rulename) + local on_build_file = ruleinst:script("build_file") + assert(on_build_file, "rule(%s): on_build_file() script not found!", rulename) -- run build jobs for each source file local curdir = os.curdir() @@ -334,7 +334,7 @@ function _build_files_with_rule(target, buildinfo, sourcebatch, jobs) end -- do build file - build_file(target, sourcefile) + on_build_file(target, sourcefile) end, #sourcebatch.sourcefiles, jobs) end diff --git a/xmake/actions/require/package.lua b/xmake/actions/require/package.lua index 5446a7e93..e48ce37fc 100644 --- a/xmake/actions/require/package.lua +++ b/xmake/actions/require/package.lua @@ -245,12 +245,20 @@ function _search_package(name) return packages end --- sort package deps +-- sort package deps +-- +-- .e.g +-- +-- a.deps = b +-- b.deps = c +-- +-- orderdeps: c -> b -> a +-- function _sort_packagedeps(package) local orderdeps = {} for _, dep in pairs(package:deps()) do table.join2(orderdeps, _sort_packagedeps(dep)) - table.insert(orderdeps, dep) + table.insert(orderdeps, dep) end return orderdeps end |
