[cmake-developers] [patch] install cfbundles as directory

Tim Blechmann tim at klingt.org
Wed Jul 9 11:30:46 EDT 2014


>> cfbundles are currently not installed as directory, but the binary from
>> Contents/MacOS is directly installed to the destination.
>>
>> attached patch fixes the issue.
> 
> Thanks.
> 
> I do not understand this line:
> 
>> +      std::string targetNameBase = targetName.substr(0, targetName.find_first_of("/"));
> 
> Why do we need to look for the first slash?

targetName is:
${BundleName}${BundleExtension}/Contents/MacOS/${BundleName}

we basically want to find ${BundleName}. i did not find any way to
determine this information from the Target.

> Also, look earlier in that function for the blocks starting in:
> 
>       // Handle OSX Bundles.
>       if(this->Target->IsAppBundleOnApple())
> 
> and
> 
>     else if(this->Target->IsFrameworkOnApple())
> 
> Those cases do special handling for the post-installation tweaks.
> Is something similar needed here?

i wonder: which tweaks are they? i've seen the comments, but failed to
understand, what kind of post-install tweaks they add, as it is mainly
about changing source and destinations. in my use-case it seems to work,
but of course i might be missing something ...

cheers,
tim





More information about the cmake-developers mailing list