From d02437ce6092ac015e6ba42068736d8ff8e3fa63 Mon Sep 17 00:00:00 2001 From: ruki Date: Tue, 19 Feb 2019 22:49:45 +0800 Subject: add find_and_add_packages help function --- xmake/includes/find_and_add_packages.lua | 48 ++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 xmake/includes/find_and_add_packages.lua 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 + -- cgit v1.3.1