Hi Mathieu, I think this topic would be worth raising on osg-users to get more input from the community, as I'm neither an expert under OSX nor with CMake. Could you straight a thread on osg-users for this?
Cheers, Robert. On Thu, Mar 4, 2010 at 1:30 PM, Mathieu Marache <[email protected]>wrote: > Hi Robert, > > It is a confusing subject... Other mac dev are welcomed to pop in this > discussion... > > This submission tries to resolves two issues I encountered on mac while > building with CMake's generated makefiles: > > 1. build and install directly and using those libs to create a bundle > 2. build and install into a fakeroot and then copy/rsync to the real > install location > > By default shared libraries are build with a rpath allowing the target to > run from the build tree. A relinking should happen at 'make install' to > change the stored rpath to the CMAKE_INSTALL_PREFIX LIBRARY DESTINATION but > it doesn't so the rpath is just removed. This is not a problem in itself but > when you want to use those installed libs on another projects that creates a > Bundle (mac app) it needs the rpath information. This is why I forced it by > default also (if I don't provide a REAL_INSTALL_PREFIX). > > Those relinking are triggered only when creating Frameworks/Bundles targets > under macosx which we cannot yet do with current CMake 2.8 because it only > supports one framework construction (where we want one for each of the main > libs). > > Considering these issues made me simplify/correct the submission (attached > file) > > I can keep those modification to myself if you think them too specific. > > Mathieu > > > Le 4 mars 10 à 12:36, Robert Osfield a écrit : > > Hi Mathieu, >> >> I'm confused by the need for a REAL_INSTALL_PREFIX. Which does just >> setting the CMAKE_INSTALL_PREFIX directly work? If this doesn't work then >> this is the thing to fix directly rather than have a platform specific >> workaround. >> >> Is looks to me the only extra you've added over setting the >> CMAKE_INSTALL_PREFIX directly is setting the CMAKE_BUILD_WITH_INSTALL_RPATH >> set to TRUE and CMAKE_INSTALL_NAME_DIR. >> >> I would have thought if these are required to action a proper install then >> it's something we'd want to have on by default. >> >> Robert. >> >> >> 2010/3/3 Mathieu Marache <[email protected]> >> Hi, >> >> I ran into a problem while compiling and installing OSG on a mac. The mac >> produces dylib that retain the location of their dependencies. So we need to >> relocate them during the install stage. >> >> Our scenario is that a CI machine compiles our sdks and publishs them to a >> server that we rsync from. The dylib created with the Makefile generator had >> their dependencies set on the CI machine compilations paths (that doesn't >> exist on user's machines obviously). >> >> Here is a simple modification that will take the option variable >> CMAKE_REAL_INSTALL_PREFIX and make this happen. >> >> As I'm testing the git mirror ( http://github.com/openscenegraph/osg ). I >> also have pushed this modification on my clone : >> http://github.com/mathieu/osg/network >> >> >> >> >> >> Mathieu >> >> >> _______________________________________________ >> osg-submissions mailing list >> [email protected] >> >> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org >> >> >> _______________________________________________ >> osg-submissions mailing list >> [email protected] >> >> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org >> > > Mathieu > > > _______________________________________________ > osg-submissions mailing list > [email protected] > > http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org > >
_______________________________________________ osg-submissions mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
