From cc1caaa566b08212d484eb2565e671c418789110 Mon Sep 17 00:00:00 2001 From: ruki Date: Thu, 16 Jun 2022 23:03:07 +0800 Subject: improve to find/install conan package --- xmake/modules/package/manager/conan/find_package.lua | 4 ++++ xmake/modules/package/manager/conan/install_package.lua | 11 ++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/xmake/modules/package/manager/conan/find_package.lua b/xmake/modules/package/manager/conan/find_package.lua index fca3d3891..b5daae4b7 100644 --- a/xmake/modules/package/manager/conan/find_package.lua +++ b/xmake/modules/package/manager/conan/find_package.lua @@ -100,6 +100,10 @@ function main(name, opt) return end end + local require_version = opt.require_version + if require_version ~= nil and require_version ~= "latest" then + result.version = opt.require_version + end return result end end diff --git a/xmake/modules/package/manager/conan/install_package.lua b/xmake/modules/package/manager/conan/install_package.lua index 47d1d25a4..98bc93d62 100644 --- a/xmake/modules/package/manager/conan/install_package.lua +++ b/xmake/modules/package/manager/conan/install_package.lua @@ -49,7 +49,7 @@ function _conan_get_build_directory(name) end -- generate conanfile.txt -function _conan_generate_conanfile(name, configs) +function _conan_generate_conanfile(name, configs, opt) -- trace dprint("generate %s ..", path.join(_conan_get_build_directory(name), "conanfile.txt")) @@ -66,7 +66,12 @@ function _conan_generate_conanfile(name, configs) conanfile:print("[generators]") conanfile:print("xmake") conanfile:print("[requires]") - conanfile:print("%s", name) + local require_version = opt.require_version + if require_version ~= nil and require_version ~= "latest" then + conanfile:print("%s/%s", name, require_version) + else + conanfile:print("%s", name) + end if #options > 0 then conanfile:print("[options]") conanfile:print("%s", table.concat(options, "\n")) @@ -147,7 +152,7 @@ function main(name, opt) _conan_install_xmake_generator(conan) -- generate conanfile.txt - _conan_generate_conanfile(name, configs) + _conan_generate_conanfile(name, configs, opt) -- install package local argv = {"install", "."} -- cgit v1.3.1