From e422f738e4eb27dbf24a0b45d56e0f21a1d45cbc Mon Sep 17 00:00:00 2001 From: Christian Askeland Date: Thu, 11 Feb 2016 14:15:06 +0100 Subject: [PATCH] BundleUtilities: Fix treatment of .dylib inside .framework folders The specific cause is when e.g. /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgio-2.0.0.dylib is detected by fixup_bundle. set_bundle_key_values() interprets this as a framework, thus doing a string replace that creates an embedded_item that is equal to the original path, i.e. it is not embedded. --- Modules/BundleUtilities.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/BundleUtilities.cmake b/Modules/BundleUtilities.cmake index 45dda40c8..73ff0af85 100644 --- a/Modules/BundleUtilities.cmake +++ b/Modules/BundleUtilities.cmake @@ -479,7 +479,7 @@ function(set_bundle_key_values keys_var context item exepath dirs copyflag) get_item_rpaths("${resolved_item}" item_rpaths) - if(item MATCHES "[^/]+\\.framework/") + if((item NOT MATCHES "\\.dylib$") AND (item MATCHES "[^/]+\\.framework/")) # For frameworks, construct the name under the embedded path from the # opening "${item_name}.framework/" to the closing "/${item_name}": #