summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2020-04-05 14:32:36 +0800
committerruki <[email protected]>2020-04-05 14:32:36 +0800
commit79ff6aed24ebfda2ecd4628b2237b75a003e347a (patch)
tree7a901d3fd0400e7926b9e5ba39ce627bae640a81
parent903821ab225794e65e1fdee98afce2a566fe0f14 (diff)
improve info.plist
-rw-r--r--tests/projects/objc/application/src/Info.plist34
-rw-r--r--tests/projects/objc/bundle/src/Info.plist34
-rw-r--r--tests/projects/objc/framework/src/Info.plist34
-rw-r--r--xmake/rules/qt/deploy/macosx.lua2
-rw-r--r--xmake/rules/xcode/application/xmake.lua20
-rw-r--r--xmake/rules/xcode/bundle/xmake.lua19
-rw-r--r--xmake/rules/xcode/framework/xmake.lua19
7 files changed, 79 insertions, 83 deletions
diff --git a/tests/projects/objc/application/src/Info.plist b/tests/projects/objc/application/src/Info.plist
index 968bf5d3d..4bf9680cf 100644
--- a/tests/projects/objc/application/src/Info.plist
+++ b/tests/projects/objc/application/src/Info.plist
@@ -2,44 +2,26 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
- <key>BuildMachineOSBuild</key>
- <string>18G95</string>
<key>CFBundleDevelopmentRegion</key>
- <string>en</string>
+ <string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
- <string>test</string>
+ <string>$(EXECUTABLE_NAME)</string>
+ <key>CFBundleIconFile</key>
+ <string></string>
<key>CFBundleIdentifier</key>
- <string>org.tboox.test</string>
+ <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
- <string>test</string>
+ <string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
- <string>APPL</string>
+ <string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
- <key>CFBundleSupportedPlatforms</key>
- <array>
- <string>MacOSX</string>
- </array>
<key>CFBundleVersion</key>
<string>1</string>
- <key>DTCompiler</key>
- <string>com.apple.compilers.llvm.clang.1_0</string>
- <key>DTPlatformBuild</key>
- <string>11B52</string>
- <key>DTPlatformVersion</key>
- <string>GM</string>
- <key>DTSDKBuild</key>
- <string>19B81</string>
- <key>DTSDKName</key>
- <string>macosx10.15</string>
- <key>DTXcode</key>
- <string>1120</string>
- <key>DTXcodeBuild</key>
- <string>11B52</string>
<key>LSMinimumSystemVersion</key>
- <string>10.14</string>
+ <string>$(MACOSX_DEPLOYMENT_TARGET)</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2020 tboox. All rights reserved.</string>
<key>NSMainStoryboardFile</key>
diff --git a/tests/projects/objc/bundle/src/Info.plist b/tests/projects/objc/bundle/src/Info.plist
index 090a794fb..20608314e 100644
--- a/tests/projects/objc/bundle/src/Info.plist
+++ b/tests/projects/objc/bundle/src/Info.plist
@@ -2,44 +2,22 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
- <key>BuildMachineOSBuild</key>
- <string>18G95</string>
<key>CFBundleDevelopmentRegion</key>
- <string>en</string>
+ <string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
- <string>test</string>
+ <string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
- <string>org.tboox.test</string>
+ <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
- <string>test</string>
+ <string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
- <string>BNDL</string>
+ <string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
- <key>CFBundleSupportedPlatforms</key>
- <array>
- <string>MacOSX</string>
- </array>
<key>CFBundleVersion</key>
- <string>1</string>
- <key>DTCompiler</key>
- <string>com.apple.compilers.llvm.clang.1_0</string>
- <key>DTPlatformBuild</key>
- <string>11B52</string>
- <key>DTPlatformVersion</key>
- <string>GM</string>
- <key>DTSDKBuild</key>
- <string>19B81</string>
- <key>DTSDKName</key>
- <string>macosx10.15</string>
- <key>DTXcode</key>
- <string>1120</string>
- <key>DTXcodeBuild</key>
- <string>11B52</string>
- <key>LSMinimumSystemVersion</key>
- <string>10.14</string>
+ <string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2020 tboox. All rights reserved.</string>
</dict>
diff --git a/tests/projects/objc/framework/src/Info.plist b/tests/projects/objc/framework/src/Info.plist
index c3ae3d9cc..20608314e 100644
--- a/tests/projects/objc/framework/src/Info.plist
+++ b/tests/projects/objc/framework/src/Info.plist
@@ -2,44 +2,22 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
- <key>BuildMachineOSBuild</key>
- <string>18G95</string>
<key>CFBundleDevelopmentRegion</key>
- <string>en</string>
+ <string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
- <string>test</string>
+ <string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
- <string>org.tboox.test</string>
+ <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
- <string>test1</string>
+ <string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
- <string>FMWK</string>
+ <string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
- <key>CFBundleSupportedPlatforms</key>
- <array>
- <string>MacOSX</string>
- </array>
<key>CFBundleVersion</key>
- <string>1</string>
- <key>DTCompiler</key>
- <string>com.apple.compilers.llvm.clang.1_0</string>
- <key>DTPlatformBuild</key>
- <string>11B52</string>
- <key>DTPlatformVersion</key>
- <string>GM</string>
- <key>DTSDKBuild</key>
- <string>19B81</string>
- <key>DTSDKName</key>
- <string>macosx10.15</string>
- <key>DTXcode</key>
- <string>1120</string>
- <key>DTXcodeBuild</key>
- <string>11B52</string>
- <key>LSMinimumSystemVersion</key>
- <string>10.14</string>
+ <string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2020 tboox. All rights reserved.</string>
</dict>
diff --git a/xmake/rules/qt/deploy/macosx.lua b/xmake/rules/qt/deploy/macosx.lua
index 63c0ca1ff..818ff9943 100644
--- a/xmake/rules/qt/deploy/macosx.lua
+++ b/xmake/rules/qt/deploy/macosx.lua
@@ -58,7 +58,7 @@ function _save_info_plist(target, info_plist_file)
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
-</plist>]], name, name, name, name, macos.version():major() .. "." .. macos.version():minor()))
+</plist>]], name, name, name, name, get_config("target_minver") or (macos.version():major() .. "." .. macos.version():minor())))
end
-- deploy application package for macosx
diff --git a/xmake/rules/xcode/application/xmake.lua b/xmake/rules/xcode/application/xmake.lua
index 756d94d6c..2378775b3 100644
--- a/xmake/rules/xcode/application/xmake.lua
+++ b/xmake/rules/xcode/application/xmake.lua
@@ -47,6 +47,23 @@ rule("xcode.application")
-- 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 = "APPL", -- application
+ CURRENT_PROJECT_VERSION = target:version() and tostring(target:version()) or "1.0",
+ MACOSX_DEPLOYMENT_TARGET = get_config("target_minver")
+ }
+ return maps[variable]
+ end)
+ end
+
-- get app directory
local appdir = path.absolute(target:data("xcode.appdir"))
@@ -67,6 +84,9 @@ rule("xcode.application")
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
diff --git a/xmake/rules/xcode/bundle/xmake.lua b/xmake/rules/xcode/bundle/xmake.lua
index 5911e5fff..97b2e9966 100644
--- a/xmake/rules/xcode/bundle/xmake.lua
+++ b/xmake/rules/xcode/bundle/xmake.lua
@@ -46,6 +46,22 @@ rule("xcode.bundle")
-- 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 = "BNDL", -- bundle
+ CURRENT_PROJECT_VERSION = target:version() and tostring(target:version()) or "1.0"
+ }
+ return maps[variable]
+ end)
+ end
+
-- get bundle directory
local bundledir = path.absolute(target:data("xcode.bundledir"))
@@ -57,6 +73,9 @@ rule("xcode.bundle")
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
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