diff options
| author | ruki <[email protected]> | 2017-09-22 22:37:56 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2017-09-22 09:47:39 +0800 |
| commit | 672d5ae9a9fef8a0dc5de4ed0643e8594e1cb85c (patch) | |
| tree | 4007b54189cfbb4ac366cca21735793e68aa69e7 | |
| parent | fe319cb58be817295c0ad610cfe411be0eff57e0 (diff) | |
add require alias
| -rw-r--r-- | tests/projects/requires/xmake.lua | 4 | ||||
| -rw-r--r-- | xmake/actions/require/install.lua | 2 | ||||
| -rw-r--r-- | xmake/actions/require/list.lua | 2 | ||||
| -rw-r--r-- | xmake/actions/require/package.lua | 3 | ||||
| -rw-r--r-- | xmake/core/package/package.lua | 8 | ||||
| -rw-r--r-- | xmake/core/project/project.lua | 6 |
6 files changed, 19 insertions, 6 deletions
diff --git a/tests/projects/requires/xmake.lua b/tests/projects/requires/xmake.lua index 9f03b9e13..8857c4b4f 100644 --- a/tests/projects/requires/xmake.lua +++ b/tests/projects/requires/xmake.lua @@ -12,7 +12,7 @@ package_end() -- requires add_requires("zlib-mbedtls") -add_requires("[email protected] ~1.6.0") +add_requires("[email protected] ~1.6.0", {alias = "tbox"}) add_requires("unknown", {optional = true}) -- the debug mode @@ -48,5 +48,5 @@ target("console_c") add_files("src/*.c") -- add packages - add_packages("tboox.tbox", "zlib-mbedtls") + add_packages("tbox", "zlib-mbedtls") diff --git a/xmake/actions/require/install.lua b/xmake/actions/require/install.lua index 48fc37b25..19f90257f 100644 --- a/xmake/actions/require/install.lua +++ b/xmake/actions/require/install.lua @@ -65,7 +65,7 @@ function _attach_to_targets(packages) for _, instance in ipairs(packages) do if instance:kind() ~= "binary" then - local opt = project.option(instance:fullname()) + local opt = project.option(instance:alias() or instance:fullname()) if opt and opt:enabled() then _attach_to_option(instance, opt) end diff --git a/xmake/actions/require/list.lua b/xmake/actions/require/list.lua index d809b9694..4246dc03e 100644 --- a/xmake/actions/require/list.lua +++ b/xmake/actions/require/list.lua @@ -65,7 +65,7 @@ function main() -- list all packages for _, instance in ipairs(package.load_packages(requires, requires_extra)) do local requireinfo = instance:requireinfo() or {} - local packageopt = project.option(instance:fullname()) + local packageopt = project.option(instance:alias() or instance:fullname()) if packageopt then cprint(" ${magenta}require${clear}(%s): %s%s%s", requireinfo.originstr, ifelse(instance:version_str(), instance:version_str(), "no version"), _from(instance), ifelse(requireinfo.optional, ", ${yellow}optional${clear}", "")) for _, dep in ipairs(instance:orderdeps()) do diff --git a/xmake/actions/require/package.lua b/xmake/actions/require/package.lua index e311ae300..26b5954c6 100644 --- a/xmake/actions/require/package.lua +++ b/xmake/actions/require/package.lua @@ -40,7 +40,7 @@ import("repository") -- add_requires("zlib master") -- add_requires("[email protected] >=1.5.1") -- add_requires("https://github.com/tboox/[email protected] >=1.5.1") --- add_requires("tboox.tbox >=1.5.1 <1.6.0", {optional = true}) +-- add_requires("tboox.tbox >=1.5.1 <1.6.0", {optional = true, alias = "tbox"}) -- function _parse_require(require_str, requires_extra) @@ -114,6 +114,7 @@ function _parse_require(require_str, requires_extra) reponame = reponame, packageurl = packageurl, version = version, + alias = require_extra.alias, system = require_extra.system, option = require_extra.option, default = require_extra.default, diff --git a/xmake/core/package/package.lua b/xmake/core/package/package.lua index 52a3eba13..8a0b1b83b 100644 --- a/xmake/core/package/package.lua +++ b/xmake/core/package/package.lua @@ -99,6 +99,14 @@ function _instance:name() return self._NAME end +-- get the package alias +function _instance:alias() + local requireinfo = self:requireinfo() + if requireinfo then + return requireinfo.alias + end +end + -- get the package vendor function _instance:vendor() return self._VENDOR diff --git a/xmake/core/project/project.lua b/xmake/core/project/project.lua index 2323151d7..dc628feb1 100644 --- a/xmake/core/project/project.lua +++ b/xmake/core/project/project.lua @@ -528,6 +528,7 @@ function project._load_options(disable_filter) local packageopt = {category = "requires", default = true, showmenu = true, description = "The " .. packagename .. " package"} -- inherit extra option settings and override the default values + local alias = nil local require_extra = requires_extra[require_str] if require_extra then @@ -543,10 +544,13 @@ function project._load_options(disable_filter) packageopt[name] = value end end + + -- get alias + alias = require_extra.alias end -- add option - results[packagename] = packageopt + results[alias or packagename] = packageopt end -- check options |
