Hi all,

Just wanted to do a bit of hit-and-run feedback on the Mac OS X framework 
support. (Sorry, I know hit-and-run feedback is not always helpful, but I'm not 
sure how to change this without looking in depth into the Cmake system.)

The new framework build support is great but I observed that the resultant 
framework bundle is versioned based on the OPENSCENEGRAPH_VERSION number (e.g. 
2.8.2). This means that each increase in the minor version will break the 
framework's backwards compatibility that should be there. Based on the Apple 
guidelines (going all the way back to NeXT days) framework bundles should be 
versioned using the OPENSCENEGRAPH_SOVERSION, so that a bundle looks like this:

Code:

    osg.framework/
        osg (soft link to "Versions/Current/osg"
        Headers/ (soft link to "Versions/Current/Headers")
        Resources/ (soft link to "Versions/Current/Resources")
        Versions/
            55/
            Current/ (soft link to "55")
                Headers/
                osg
                Resources/




To do this, the build variable FRAMEWORK_VERSION needs to be set to 
OPENSCENEGRAPH_SOVERSION.

The OSG version number can then potentially be used to version the actual 
dynamic library via the build variables DYLIB_CURRENT_VERSION and 
DYLIB_COMPATIBILITY_VERSION, e.g. DYLIB_CURRENT_VERSION = 2.8 and 
DYLIB_COMPATIBILITY_VERSION = 2.0 -- although this would require care since 
OSG's version numbering doesn't really follow the standard major.minor.bugfix 
release numbering (where API is only deprecated between major version number 
increments.)

Comments?

Regards,
Philip Lamb

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=29774#29774





_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to