[cmake-developers] How should Mac frameworks work?

Clinton Stimpson clinton at elemtech.com
Mon Jul 1 12:31:29 EDT 2013


On Monday, July 01, 2013 11:11:58 AM Brad King wrote:
> On 7/1/2013 10:08 AM, Stephen Kelly wrote:
> > What path actually should be in the IMPORTED_LOCATION in order for the
> > framework to be handled correctly?
> 
> I don't remember for sure off the top of my head, but I think that
> the automatic "-F" options work when the path is "/path/to/foo.framework"
> but IMPORTED_LOCATION wants "/path/to/foo.framework/foo".  The former
> is meant for find_* command results IIRC, and the latter was never
> meant to automatically add -F for imported targets because I didn't
> know about that feature when first working on imported frameworks.
> 
> Take the above paragraph with a grain of salt because I wrote it off
> the top of my head and haven't had a chance to look at the code.
> 
> Clinton, you refactored all of the internals for this recently.
> Can you comment, please?
> 
> Thanks,
> -Brad

With the refactor IMPORTED_LOCATION in generated export files went from
/path/to/foo.framework/foo
to
/path/to/foo.framework/Version/A/foo
That change naturally came out of the refactor.

Since for non-frameworks, the property is the location of the actual file on 
disk, it seemed this was a good change.


However, I just realized the documentation in cmTarget says 
     "For frameworks on OS X this is the location of the library file "
     "symlink just inside the framework folder.  "

-- 
Clinton Stimpson
Elemental Technologies, Inc
Computational Simulation Software, LLC
www.csimsoft.com



More information about the cmake-developers mailing list