From f78cbc917b997ffaee1f4663472064d5d9515760 Mon Sep 17 00:00:00 2001 From: ruki Date: Mon, 22 Jun 2020 22:57:24 +0800 Subject: add kind config for package --- xmake/actions/require/impl/package.lua | 1 + xmake/core/package/package.lua | 11 +++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/xmake/actions/require/impl/package.lua b/xmake/actions/require/impl/package.lua index 9bc25e3a4..c0f7f7d0e 100644 --- a/xmake/actions/require/impl/package.lua +++ b/xmake/actions/require/impl/package.lua @@ -139,6 +139,7 @@ function _parse_require(require_str, requires_extra, parentinfo) version = version, plat = require_extra.plat, -- require package in the given platform arch = require_extra.arch, -- require package in the given architecture + kind = require_extra.kind, -- default: library, set package kind, e.g. binary, library, we can set `kind = "binary"` to only detect binary program and ignore library. alias = require_extra.alias, -- set package alias name group = require_extra.group, -- only uses the first package in same group system = require_extra.system, -- default: true, we can set it to disable system package manually diff --git a/xmake/core/package/package.lua b/xmake/core/package/package.lua index d47f0fc4e..5dabc8f0b 100644 --- a/xmake/core/package/package.lua +++ b/xmake/core/package/package.lua @@ -244,9 +244,16 @@ function _instance:revision(url_alias) return self:sourcehash(url_alias) end --- get the package kind, binary or nil(static, shared) +-- get the package kind, binary or nil(library) function _instance:kind() - return self:get("kind") + local kind = self:get("kind") + if not kind then + local requireinfo = self:requireinfo() + if requireinfo then + kind = requireinfo.kind + end + end + return kind end -- get the filelock of the whole package directory -- cgit v1.3.1