Index: build/config/mac/rules.gni |
diff --git a/build/config/mac/rules.gni b/build/config/mac/rules.gni |
index a1c3c2ca16473849aab63d18cf8d05ce57e8d0b3..e9c5ebca05648e5c93c7255ae3bbf1aa25bdf24a 100644 |
--- a/build/config/mac/rules.gni |
+++ b/build/config/mac/rules.gni |
@@ -220,6 +220,10 @@ template("mac_framework_bundle") { |
# extra_substitutions: |
# (optional) string array, 'key=value' pairs for extra fields which are |
# specified in a source Info.plist template. |
+# |
+# bundle_extension: |
+# (optional) string, if specified, the bundle extension to use. The |
+# default is "app". |
template("mac_app_bundle") { |
_target_name = target_name |
_output_name = target_name |
@@ -227,6 +231,11 @@ template("mac_app_bundle") { |
_output_name = invoker.output_name |
} |
+ _bundle_extension = "app" |
+ if (defined(invoker.bundle_extension)) { |
+ _bundle_extension = invoker.bundle_extension |
+ } |
+ |
_executable_target = target_name + "_executable" |
_executable_bundle_data = _executable_target + "_bundle_data" |
@@ -338,8 +347,9 @@ template("mac_app_bundle") { |
":$_info_plist_bundle_data", |
":$_pkg_info_bundle_data", |
] |
- product_type = "com.apple.product-type.application" |
- bundle_root_dir = "$root_out_dir/${_output_name}.app/Contents" |
+ |
+ bundle_root_dir = |
+ "$root_out_dir/${_output_name}.${_bundle_extension}/Contents" |
bundle_resources_dir = "$bundle_root_dir/Resources" |
bundle_executable_dir = "$bundle_root_dir/MacOS" |
} |