diff options
| author | ruki <[email protected]> | 2025-01-11 00:02:46 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-01-11 00:02:46 +0800 |
| commit | ebc885cb9b011a8fcf18a78161b32e3dfecce3cd (patch) | |
| tree | 3752b67f3f82a864760c45afa7b31f4394fce675 /xmake/core/package/package.lua | |
| parent | e470863c24280ad3566d35b16ad184d3781510af (diff) | |
| parent | aca01466c20ab4ab339df31ba507c241606bab25 (diff) | |
Merge pull request #6055 from xmake-io/pkgconfig
check pkgconfig/cmake importfiles for package
Diffstat (limited to 'xmake/core/package/package.lua')
| -rw-r--r-- | xmake/core/package/package.lua | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/xmake/core/package/package.lua b/xmake/core/package/package.lua index 741ca318c..ea33e24fa 100644 --- a/xmake/core/package/package.lua +++ b/xmake/core/package/package.lua @@ -2712,6 +2712,30 @@ function _instance:check_fcsnippets(snippets, opt) return sandbox_module.import("lib.detect.check_fcsnippets", {anonymous = true})(snippets, opt) end +-- check the given importfiles? +-- +-- @param names the import filenames (without .pc/.cmake extension), e.g. pkgconfig::libxml-2.0, cmake::CURL +-- @param opt the argument options +-- +-- @return true or false, errors +-- +function _instance:check_importfiles(names, opt) + opt = opt or {} + if opt.PKG_CONFIG_PATH == nil then + local PKG_CONFIG_PATH = {} + local linkdirs = table.wrap(self:get("linkdirs") or "lib") + local installdir = self:installdir() + for _, linkdir in ipairs(linkdirs) do + table.insert(PKG_CONFIG_PATH, path.join(installdir, linkdir, "pkgconfig")) + end + opt.PKG_CONFIG_PATH = PKG_CONFIG_PATH + end + if opt.CMAKE_PREFIX_PATH == nil then + opt.CMAKE_PREFIX_PATH = self:installdir() + end + return sandbox_module.import("lib.detect.check_importfiles", {anonymous = true})(names or ("pkgconfig::" .. self:name()), opt) +end + -- the current mode is belong to the given modes? function package._api_is_mode(interp, ...) return config.is_mode(...) |
