summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2019-01-30 22:38:50 +0800
committerruki <[email protected]>2019-01-30 09:53:02 +0800
commit1405e9461fe3418dc1a967546377dab112a9b835 (patch)
tree4f14cfd5e0b6fd92b4032ae18f68c3d5ca1d99fc
parente1fa828266e4532507af568bd505212dcd15b81d (diff)
fix conan package path on windows
-rw-r--r--xmake/core/package/package.lua9
-rw-r--r--xmake/modules/package/manager/conan/find_package.lua1
-rw-r--r--xmake/modules/package/manager/conan/install_package.lua1
3 files changed, 8 insertions, 3 deletions
diff --git a/xmake/core/package/package.lua b/xmake/core/package/package.lua
index f27142a96..1f8ed881f 100644
--- a/xmake/core/package/package.lua
+++ b/xmake/core/package/package.lua
@@ -218,14 +218,16 @@ end
-- get the cached directory of this package
function _instance:cachedir()
- return path.join(package.cachedir(), self:name():sub(1, 1):lower(), self:name(), self:version_str())
+ local name = self:name():lower():gsub("::", "_")
+ return path.join(package.cachedir(), name:sub(1, 1):lower(), name, self:version_str())
end
-- get the installed directory of this package
function _instance:installdir(...)
-- make the given install directory
- local dir = path.join(package.installdir(table.concat({self:mode(), self:configs_hash()}, '_'), self:plat(), self:arch()), self:name():sub(1, 1):lower(), self:name(), self:version_str(), ...)
+ local name = self:name():lower():gsub("::", "_")
+ local dir = path.join(package.installdir(table.concat({self:mode(), self:configs_hash()}, '_'), self:plat(), self:arch()), name:sub(1, 1):lower(), name, self:version_str(), ...)
-- ensure the install directory
if not os.isdir(dir) then
@@ -258,7 +260,8 @@ end
-- get the prefix info file
function _instance:prefixfile()
- return path.join(package.prefixinfodir(self:from("global"), table.concat({self:mode(), self:configs_hash()}, '_'), self:plat(), self:arch()), self:name():sub(1, 1):lower(), self:name(), self:version_str(), "info.txt")
+ local name = self:name():lower():gsub("::", "_")
+ return path.join(package.prefixinfodir(self:from("global"), table.concat({self:mode(), self:configs_hash()}, '_'), self:plat(), self:arch()), name:sub(1, 1):lower(), name, self:version_str(), "info.txt")
end
-- get prefix variables
diff --git a/xmake/modules/package/manager/conan/find_package.lua b/xmake/modules/package/manager/conan/find_package.lua
index 8c3541866..558a94c02 100644
--- a/xmake/modules/package/manager/conan/find_package.lua
+++ b/xmake/modules/package/manager/conan/find_package.lua
@@ -28,6 +28,7 @@ import("core.project.config")
-- get build info file
function _conan_get_buildinfo_file(name)
+ name = name:lower():gsub("::", "_")
return path.absolute(path.join(config.buildir() or os.tmpdir(), ".conan", name, "conanbuildinfo.xmake.lua"))
end
diff --git a/xmake/modules/package/manager/conan/install_package.lua b/xmake/modules/package/manager/conan/install_package.lua
index 607f676a8..f3b62d848 100644
--- a/xmake/modules/package/manager/conan/install_package.lua
+++ b/xmake/modules/package/manager/conan/install_package.lua
@@ -29,6 +29,7 @@ import("lib.detect.find_tool")
-- get build directory
function _conan_get_build_directory(name)
+ name = name:lower():gsub("::", "_")
return path.absolute(path.join(config.buildir() or os.tmpdir(), ".conan", name))
end