diff options
| author | ruki <[email protected]> | 2022-06-16 23:03:07 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2022-06-16 23:03:07 +0800 |
| commit | cc1caaa566b08212d484eb2565e671c418789110 (patch) | |
| tree | e14eb3c19ce428a626da1c7845e581b751c588fa | |
| parent | ea89ffdb54ecc2bfb34f7a3162f216207ddf13ff (diff) | |
improve to find/install conan package
| -rw-r--r-- | xmake/modules/package/manager/conan/find_package.lua | 4 | ||||
| -rw-r--r-- | 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", "."} |
