summaryrefslogtreecommitdiff
path: root/xmake/modules/private
diff options
context:
space:
mode:
authorruki <[email protected]>2025-06-30 18:14:44 +0800
committerGitHub <[email protected]>2025-06-30 18:14:44 +0800
commit5cf24e4202abda4b61c3d06720e7eb820dfe42ba (patch)
tree63e399834a17bbdabeb89a000d3fe8079007c73c /xmake/modules/private
parentbbf84a79b6381ffe0a61b69e4eed498a4b966b69 (diff)
parentc6fb51d7c527267310e3c69a11a42d7202208e05 (diff)
Merge pull request #6597 from Doekin/pc-file
package(install): refine relative path generation in .pc files
Diffstat (limited to 'xmake/modules/private')
-rw-r--r--xmake/modules/private/action/require/impl/actions/install.lua12
1 files changed, 6 insertions, 6 deletions
diff --git a/xmake/modules/private/action/require/impl/actions/install.lua b/xmake/modules/private/action/require/impl/actions/install.lua
index 4d0bada1f..907490a1e 100644
--- a/xmake/modules/private/action/require/impl/actions/install.lua
+++ b/xmake/modules/private/action/require/impl/actions/install.lua
@@ -78,10 +78,10 @@ function _patch_pkgconfig(package)
-- get libs
local libs = ""
- local base_libdir = path.join(installdir, "lib")
for _, linkdir in ipairs(fetchinfo.linkdirs) do
- if linkdir ~= base_libdir then
- libs = libs .. " -L" .. "${libdir}/" .. path.unix(path.relative(linkdir, base_libdir))
+ linkdir = path.unix(path.normalize(linkdir)):replace(installdir, "${exec_prefix}", {plain = true})
+ if linkdir ~= "${exec_prefix}/lib" then
+ libs = libs .. " -L" .. linkdir
end
end
libs = libs .. " -L${libdir}"
@@ -94,10 +94,10 @@ function _patch_pkgconfig(package)
-- cflags
local cflags = ""
- local base_includedir = path.join(installdir, "include")
for _, includedir in ipairs(fetchinfo.includedirs or fetchinfo.sysincludedirs) do
- if includedir ~= base_includedir then
- cflags = cflags .. " -I" .. "${includedir}/" .. path.unix(path.relative(includedir, base_includedir))
+ includedir = path.unix(path.normalize(includedir)):replace(installdir, "${prefix}", {plain = true})
+ if includedir ~= "${prefix}/include" then
+ cflags = cflags .. " -I" .. includedir
end
end
cflags = cflags .. " -I${includedir}"