Chromium Code Reviews| Index: build/config/mac/rules.gni |
| diff --git a/build/config/mac/rules.gni b/build/config/mac/rules.gni |
| index c10cc4b7f940dbefbba18126ee5e8454eca43d77..81297eb9a3d396bd5d7c5e2debfcab2cb87bf811 100644 |
| --- a/build/config/mac/rules.gni |
| +++ b/build/config/mac/rules.gni |
| @@ -258,11 +258,13 @@ template("mac_framework_bundle") { |
| # the versioned directory structure. |
| _framework_target = _target_name |
| _framework_name = _output_name + ".framework" |
| - _framework_root_dir = "$root_out_dir/$_framework_name" |
| + _framework_base_dir = "$root_out_dir/$_framework_name" |
| if (defined(invoker.framework_version) && invoker.framework_version != "") { |
| _framework_version = invoker.framework_version |
| - _framework_root_dir += "/Versions/$_framework_version" |
| + _framework_root_dir = _framework_base_dir + "/Versions/$_framework_version" |
| _framework_target = _target_name + "_create_bundle" |
| + } else { |
| + _framework_root_dir = _framework_base_dir |
| } |
| _link_shared_library_target = target_name + "_shared_library" |
| @@ -302,6 +304,19 @@ template("mac_framework_bundle") { |
| ] |
| } |
| + # Clean the entire framework if the framework_version changes. |
| + _version_arg = "" |
| + if (defined(_framework_version)) { |
| + _version_arg = _framework_version |
| + } |
| + _version_file = "$target_out_dir/${target_name}_version" |
| + exec_script("//build/config/mac/prepare_framework_version.py", |
| + [ |
| + rebase_path(_version_file), |
| + rebase_path(_framework_base_dir), |
| + "'$_version_arg'", |
|
brettw
2016/10/27 19:30:16
Are you sure you need to use single-quotes here? I
Robert Sesek
2016/10/27 20:47:00
GN's quoting is correct. But the framework_version
|
| + ]) |
| + |
| _framework_public_config = _target_name + "_public_config" |
| config(_framework_public_config) { |
| # TODO(sdefresne): should we have a framework_dirs similar to lib_dirs |