diff options
| author | ruki <[email protected]> | 2020-09-18 09:28:09 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2020-09-18 09:28:09 +0800 |
| commit | 97fdf4e120b14782e0f99d3e49634fc2432e039d (patch) | |
| tree | 7a5daf806c069531531dc1a179e3eb319c6afcd7 | |
| parent | b9122293418bd2eb5a1b3221a728b17df43c96a4 (diff) | |
| parent | 1b11965798c552d338e708595ebc6e944711cd40 (diff) | |
Merge pull request #954 from paul-reilly/confirm-package
make find_package success log more explicit
| -rw-r--r-- | xmake/modules/lib/detect/find_package.lua | 12 | ||||
| -rw-r--r-- | xmake/modules/package/manager/find_package.lua | 18 |
2 files changed, 21 insertions, 9 deletions
diff --git a/xmake/modules/lib/detect/find_package.lua b/xmake/modules/lib/detect/find_package.lua index 784920a2d..0aa0f17e1 100644 --- a/xmake/modules/lib/detect/find_package.lua +++ b/xmake/modules/lib/detect/find_package.lua @@ -74,7 +74,8 @@ function main(name, opt) end -- find package - result = find_package(name, opt) + local found_manager_name, package_name + result, found_manager_name, package_name = find_package(name, opt) -- cache result cacheinfo[name] = result and result or false @@ -83,9 +84,14 @@ function main(name, opt) -- trace if opt.verbose or option.get("verbose") then if result then - cprint("checking for the %s ... ${color.success}%s", name, result.version and result.version or "${text.success}") + + -- only display manager of found package if the package we searched for + -- did not specify a package manager + local display_manager = name:find("::", 1, true) and "" or (found_manager_name or "") .. "::" + local display_name = display_manager .. package_name + cprint("checking for %s ... ${color.success}%s %s", name, display_name, result.version and result.version or "") else - cprint("checking for the %s ... ${color.nothing}${text.nothing}", name) + cprint("checking for %s ... ${color.nothing}${text.nothing}", name) end end diff --git a/xmake/modules/package/manager/find_package.lua b/xmake/modules/package/manager/find_package.lua index eed29f420..93f7c8447 100644 --- a/xmake/modules/package/manager/find_package.lua +++ b/xmake/modules/package/manager/find_package.lua @@ -65,14 +65,16 @@ function _find_package_with_builtin_rule(package_name, opt) -- find package from the given package manager local result = nil + local found_manager_name = nil for _, manager_name in ipairs(managers) do dprint("finding %s from %s ..", package_name, manager_name) result = import("package.manager." .. manager_name .. ".find_package", {anonymous = true})(package_name, opt) if result then + found_manager_name = manager_name break end end - return result + return result, found_manager_name end -- find package @@ -106,7 +108,7 @@ function _find_package(manager_name, package_name, opt) -- find package with the builtin rule if not result and not builtin then - result = _find_package_with_builtin_rule(package_name, opt) + result, manager_name = _find_package_with_builtin_rule(package_name, opt) end end @@ -119,7 +121,7 @@ function _find_package(manager_name, package_name, opt) end -- ok? - return result + return result, manager_name end -- find package using the package manager @@ -131,7 +133,8 @@ end -- linkdirs = {"/usr/lib"}, includedirs = "/usr/include", links = {"ssl"}, includes = {"ssl.h"} -- packagedirs = {"/tmp/packages"}, system = true} -- --- @return {links = {"ssl", "crypto", "z"}, linkdirs = {"/usr/local/lib"}, includedirs = {"/usr/local/include"}} +-- @return {links = {"ssl", "crypto", "z"}, linkdirs = {"/usr/local/lib"}, includedirs = {"/usr/local/include"}}, +-- manager_name, package_name -- -- @code -- @@ -140,9 +143,11 @@ end -- local package = find_package("openssl", {plat = "iphoneos"}) -- local package = find_package("openssl", {linkdirs = {"/usr/lib", "/usr/local/lib"}, includedirs = "/usr/local/include", version = "1.0.1"}) -- local package = find_package("openssl", {linkdirs = {"/usr/lib", "/usr/local/lib", links = {"ssl", "crypto"}, includes = {"ssl.h"}}) +-- local package, manager_name, package_name = find_package("openssl") -- -- @endcode -- + function main(name, opt) -- get the copied options @@ -166,7 +171,8 @@ function main(name, opt) opt.version = require_version or opt.version -- find package - result = _find_package(manager_name, package_name, opt) + local found_manager_name = nil + result, found_manager_name = _find_package(manager_name, package_name, opt) -- match version? if opt.version and opt.version:find('.', 1, true) and result then @@ -176,5 +182,5 @@ function main(name, opt) end -- ok? - return result + return result, found_manager_name, package_name end |
