From 79ff6aed24ebfda2ecd4628b2237b75a003e347a Mon Sep 17 00:00:00 2001 From: ruki Date: Sun, 5 Apr 2020 14:32:36 +0800 Subject: improve info.plist --- xmake/rules/xcode/framework/xmake.lua | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'xmake/rules/xcode/framework/xmake.lua') diff --git a/xmake/rules/xcode/framework/xmake.lua b/xmake/rules/xcode/framework/xmake.lua index 304ba0ea0..6cc5ec1c7 100644 --- a/xmake/rules/xcode/framework/xmake.lua +++ b/xmake/rules/xcode/framework/xmake.lua @@ -72,6 +72,22 @@ rule("xcode.framework") -- imports import("private.tools.codesign") + -- generate Info.plist + local function _gen_info_plist(info_plist_file) + io.gsub(info_plist_file, "(%$%((.-)%))", function (_, variable) + local maps = + { + DEVELOPMENT_LANGUAGE = "en", + EXECUTABLE_NAME = target:basename(), + PRODUCT_BUNDLE_IDENTIFIER = "org.tboox." .. target:name(), + PRODUCT_NAME = target:name(), + PRODUCT_BUNDLE_PACKAGE_TYPE = "FMWK", -- framework + CURRENT_PROJECT_VERSION = target:version() and tostring(target:version()) or "1.0" + } + return maps[variable] + end) + end + -- get framework directory local frameworkdir = path.absolute(target:data("xcode.frameworkdir")) local headersdir = path.join(frameworkdir, "Versions", "A", "Headers") @@ -90,6 +106,9 @@ rule("xcode.framework") local dstfile = dstfiles[i] if dstfile then os.vcp(srcfile, dstfile) + if path.filename(srcfile) == "Info.plist" then + _gen_info_plist(dstfile) + end end i = i + 1 end -- cgit v1.3.1