diff options
| author | ruki <[email protected]> | 2019-01-25 00:59:27 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2019-01-24 23:56:46 +0800 |
| commit | e7627900b6acfeaefd69e65927178ee16ca0374e (patch) | |
| tree | 824bc219d363ac4044972f2b504137d0b1280e61 /xmake/modules/detect | |
| parent | fc20a39a1a046630864ff21d8156dc1e1ca99fb3 (diff) | |
generate conanfile.txt
Diffstat (limited to 'xmake/modules/detect')
| -rw-r--r-- | xmake/modules/detect/sdks/find_conandir.lua | 99 | ||||
| -rw-r--r-- | xmake/modules/detect/tools/find_conan.lua | 58 |
2 files changed, 58 insertions, 99 deletions
diff --git a/xmake/modules/detect/sdks/find_conandir.lua b/xmake/modules/detect/sdks/find_conandir.lua deleted file mode 100644 index 7b2ec65ea..000000000 --- a/xmake/modules/detect/sdks/find_conandir.lua +++ /dev/null @@ -1,99 +0,0 @@ ---!A cross-platform build utility based on Lua --- --- Licensed to the Apache Software Foundation (ASF) under one --- or more contributor license agreements. See the NOTICE file --- distributed with this work for additional information --- regarding copyright ownership. The ASF licenses this file --- to you under the Apache License, Version 2.0 (the --- "License"); you may not use this file except in compliance --- with the License. You may obtain a copy of the License at --- --- http://www.apache.org/licenses/LICENSE-2.0 --- --- Unless required by applicable law or agreed to in writing, software --- distributed under the License is distributed on an "AS IS" BASIS, --- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --- See the License for the specific language governing permissions and --- limitations under the License. --- --- Copyright (C) 2015 - 2019, TBOOX Open Source Group. --- --- @author ruki --- @file find_conandir.lua --- - --- imports -import("lib.detect.cache") -import("lib.detect.find_file") -import("core.base.option") -import("core.base.global") -import("core.project.config") - --- find conan directory -function _find_conandir(sdkdir) - - -- init the search directories - local pathes = {} - if sdkdir then - table.insert(pathes, sdkdir) - end - table.insert(pathes, path.translate("~/.conan")) - - -- attempt to find conan.conf - local conan = find_file("conan.conf", pathes) - if conan then - return path.directory(conan) - end -end - --- find conan directory --- --- @param sdkdir the conan directory --- @param opt the argument options, .e.g {verbose = true, force = false} --- --- @return the conan directory --- --- @code --- --- local conandir = find_conandir() --- --- @endcode --- -function main(sdkdir, opt) - - -- init arguments - opt = opt or {} - - -- attempt to load cache first - local key = "detect.sdks.find_conandir" .. (sdkdir or "") - local cacheinfo = cache.load(key) - if not opt.force and cacheinfo.conan ~= nil then - return cacheinfo.conan - end - - -- find conan - local conan = _find_conandir(sdkdir or config.get("conan") or global.get("conan")) - if conan then - - -- save to config - config.set("conan", conan, {force = true, readonly = true}) - - -- trace - if opt.verbose or option.get("verbose") then - cprint("checking for the conan directory ... ${color.success}%s", conan) - end - else - - -- trace - if opt.verbose or option.get("verbose") then - cprint("checking for the conan directory ... ${color.nothing}${text.nothing}") - end - end - - -- save to cache - cacheinfo.conan = conan or false - cache.save(key, cacheinfo) - - -- ok? - return conan -end diff --git a/xmake/modules/detect/tools/find_conan.lua b/xmake/modules/detect/tools/find_conan.lua new file mode 100644 index 000000000..4580d5779 --- /dev/null +++ b/xmake/modules/detect/tools/find_conan.lua @@ -0,0 +1,58 @@ +--!A cross-platform build utility based on Lua +-- +-- Licensed to the Apache Software Foundation (ASF) under one +-- or more contributor license agreements. See the NOTICE file +-- distributed with this work for additional information +-- regarding copyright ownership. The ASF licenses this file +-- to you under the Apache License, Version 2.0 (the +-- "License"); you may not use this file except in compliance +-- with the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- +-- Copyright (C) 2015 - 2019, TBOOX Open Source Group. +-- +-- @author ruki +-- @file find_conan.lua +-- + +-- imports +import("lib.detect.find_program") +import("lib.detect.find_programver") + +-- find conan +-- +-- @param opt the argument options, .e.g {version = true} +-- +-- @return program, version +-- +-- @code +-- +-- local conan = find_conan() +-- local conan, version = find_conan({version = true}) +-- +-- @endcode +-- +function main(opt) + + -- init options + opt = opt or {} + + -- find program + local program = find_program(opt.program or "conan", opt) + + -- find program version + local version = nil + if program and opt and opt.version then + version = find_programver(program, opt) + end + + -- ok? + return program, version +end |
