diff options
| author | ruki <[email protected]> | 2019-02-19 22:49:45 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2019-02-19 10:58:32 +0800 |
| commit | d02437ce6092ac015e6ba42068736d8ff8e3fa63 (patch) | |
| tree | 7a9b48296bc18aed1d700d37068bf4a70c8db677 | |
| parent | b9b6a34e539f3356717b5e4953d37f185ea86476 (diff) | |
add find_and_add_packages help function
| -rw-r--r-- | xmake/includes/find_and_add_packages.lua | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/xmake/includes/find_and_add_packages.lua b/xmake/includes/find_and_add_packages.lua new file mode 100644 index 000000000..16bcd906a --- /dev/null +++ b/xmake/includes/find_and_add_packages.lua @@ -0,0 +1,48 @@ +--!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_and_add_packages.lua +-- + +-- find and add packages to the given target +-- +-- e.g. +-- +-- @code +-- includes("find_and_add_packages.lua") +-- target("test") +-- set_kind("binary") +-- add_files("src/*.c") +-- find_and_add_packages("brew::pcre2/libpcre2-8", "zlib") +-- @endcode +-- +function find_and_add_packages(...) + for _, name in ipairs({...}) do + local optname = "__" .. name + option(optname) + before_check(function (option) + option:add(find_packages(name)) + end) + option_end() + add_options(optname) + end +end + |
