diff options
Diffstat (limited to 'Modules/BundleUtilities.cmake')
-rw-r--r-- | Modules/BundleUtilities.cmake | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Modules/BundleUtilities.cmake b/Modules/BundleUtilities.cmake index b48c61e..c7ead5b 100644 --- a/Modules/BundleUtilities.cmake +++ b/Modules/BundleUtilities.cmake @@ -118,6 +118,9 @@ # Accumulate changes in a local variable and make *one* call to # install_name_tool at the end of the function with all the changes at once. # +# If the BU_CHMOD_BUNDLE_ITEMS variable is set then bundle items will be +# marked writable before install_name_tool tries to change them. +# # VERIFY_BUNDLE_PREREQUISITES(<bundle> <result_var> <info_var>) # Verifies that the sum of all prerequisites of all files inside the bundle # are contained within the bundle or are "system" libraries, presumed to exist @@ -412,7 +415,7 @@ function(get_bundle_keys app libs dirs keys_var) # but that do not show up in otool -L output...) # foreach(lib ${libs}) - set_bundle_key_values(${keys_var} "${lib}" "${lib}" "${exepath}" "${dirs}" 1) + set_bundle_key_values(${keys_var} "${lib}" "${lib}" "${exepath}" "${dirs}" 0) set(prereqs "") get_prerequisites("${lib}" prereqs 1 1 "${exepath}" "${dirs}") @@ -541,6 +544,10 @@ function(fixup_bundle_item resolved_embedded_item exepath dirs) endif(NOT "${${rkey}_EMBEDDED_ITEM}" STREQUAL "") endforeach(pr) + if(BU_CHMOD_BUNDLE_ITEMS) + execute_process(COMMAND chmod u+w "${resolved_embedded_item}") + endif() + # Change this item's id and all of its references in one call # to install_name_tool: # |