Re: [hugin-ptx] Re: [RFC] How about installing private libraries in a private directory
2010/11/5 Bruno Postle br...@postle.net On Thu 04-Nov-2010 at 19:32 +0100, Andreas Metzler wrote: The patch was against 2010.2.0, which does not include these libraries. Bruno has provided an updated patch for HEAD. It seems ok to me, I committed it to the tip. -- Bruno I did one build and one test and that worked fine on OSX as well. Harry -- You received this message because you are subscribed to the Google Groups Hugin and other free panoramic software group. A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ To post to this group, send email to hugin-ptx@googlegroups.com To unsubscribe from this group, send email to hugin-ptx+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/hugin-ptx
Re: [hugin-ptx] Re: [RFC] How about installing private libraries in a private directory
On Thu 04-Nov-2010 at 19:32 +0100, Andreas Metzler wrote: The patch was against 2010.2.0, which does not include these libraries. Bruno has provided an updated patch for HEAD. It seems ok to me, I committed it to the tip. -- Bruno -- You received this message because you are subscribed to the Google Groups Hugin and other free panoramic software group. A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ To post to this group, send email to hugin-ptx@googlegroups.com To unsubscribe from this group, send email to hugin-ptx+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/hugin-ptx
[hugin-ptx] Re: [RFC] How about installing private libraries in a private directory
On 2010-11-02 Harry van der Wolf hvdw...@gmail.com wrote: 2010/11/2 Andreas Metzler ametz...@downhill.at.eu.org Bruno Postle br...@postle.net wrote: [...] Yes the libraries are private, for now anyway, we also don't install header files that you would need if they were 'public'. Since nobody should be linking to the libraries we shouldn't be installing the .so symlinks either. [...] I will uprovide an updated the patch [...] Your current patch of 31st October, which skips Apple for it's new config, builds and works fine on OSX. Thanks for testing. Hugin on Apple also uses the full library name (libhuginbasewx.0.0.dylib) so Apple could do without the symlinks as well. Note though that OSX libraries end in .dylib. Find attached the updated patch that does away with the so-symlinks. cu and- Who can now understand a little bit why cmake is popular, just not having to rerun auto* is an enormous timesaver when testing -reas -- `What a good friend you are to him, Dr. Maturin. His other friends are so grateful to you.' `I sew his ears on from time to time, sure' -- You received this message because you are subscribed to the Google Groups Hugin and other free panoramic software group. A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ To post to this group, send email to hugin-ptx@googlegroups.com To unsubscribe from this group, send email to hugin-ptx+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/hugin-ptx --- hugin-2010.2.0+dfsg~rc2.orig/CMakeLists.txt +++ hugin-2010.2.0+dfsg~rc2/CMakeLists.txt @@ -343,6 +343,16 @@ IF (APPLE) ENDIF (NOT MAC_SELF_CONTAINED_BUNDLE) ENDIF (APPLE) +IF (${HUGIN_SHARED} AND UNIX AND NOT APPLE) + SET(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/${LIBDIR}/hugin) + SET(HUGIN_LIBS_PRIVATE_DIR 1 CACHE INTERNAL Store internal +libraries in private subdirectory ) +ELSE (${HUGIN_SHARED} AND UNIX AND NOT APPLE) + # On OS X files are moved around after make install, do not try to use + # rpath or CMAKE_INSTALL_NAME_DIR + SET(HUGIN_LIBS_PRIVATE_DIR 0 CACHE INTERNAL Store internal +libraries in private subdirectory ) +ENDIF (${HUGIN_SHARED} AND UNIX AND NOT APPLE) IF (UNIX) IF (${HUGIN_SHARED}) --- hugin-2010.2.0+dfsg~rc2.orig/src/foreign/ANN/CMakeLists.txt +++ hugin-2010.2.0+dfsg~rc2/src/foreign/ANN/CMakeLists.txt @@ -14,8 +14,10 @@ IF (${HUGIN_SHARED_LIBS}) set_target_properties(huginANN PROPERTIES VERSION ${HUGIN_LIB_VERSION}) IF(WIN32) install(TARGETS huginANN RUNTIME DESTINATION ${BINDIR}) + ELSEIF(${HUGIN_LIBS_PRIVATE_DIR}) +install(TARGETS huginANN LIBRARY DESTINATION ${LIBDIR}/hugin NAMELINK_SKIP) ELSE(WIN32) -install(TARGETS huginANN DESTINATION ${LIBDIR}) +install(TARGETS huginANN LIBRARY DESTINATION ${LIBDIR} NAMELINK_SKIP) ENDIF(WIN32) ELSE (${HUGIN_SHARED_LIBS}) add_library(huginANN STATIC ${ANN_SRC} ${ANN_HEADERS}) --- hugin-2010.2.0+dfsg~rc2.orig/src/foreign/vigra/vigra_impex/CMakeLists.txt +++ hugin-2010.2.0+dfsg~rc2/src/foreign/vigra/vigra_impex/CMakeLists.txt @@ -10,8 +10,10 @@ IF (${HUGIN_SHARED_LIBS}) set_target_properties(huginvigraimpex PROPERTIES VERSION ${HUGIN_LIB_VERSION}) IF(WIN32) install(TARGETS huginvigraimpex RUNTIME DESTINATION ${BINDIR}) + ELSEIF(${HUGIN_LIBS_PRIVATE_DIR}) +install(TARGETS huginvigraimpex LIBRARY DESTINATION ${LIBDIR}/hugin NAMELINK_SKIP) ELSE(WIN32) -install(TARGETS huginvigraimpex DESTINATION ${LIBDIR}) +install(TARGETS huginvigraimpex LIBRARY DESTINATION ${LIBDIR} NAMELINK_SKIP) ENDIF(WIN32) ELSE (${HUGIN_SHARED_LIBS}) add_library(huginvigraimpex STATIC ${VIGRA_IMPEX_SRC} ${VIGRA_IMPEX_HEADER}) --- hugin-2010.2.0+dfsg~rc2.orig/src/celeste/CMakeLists.txt +++ hugin-2010.2.0+dfsg~rc2/src/celeste/CMakeLists.txt @@ -58,8 +58,10 @@ IF (${HUGIN_SHARED_LIBS}) set_target_properties(celeste PROPERTIES VERSION ${HUGIN_LIB_VERSION}) IF(WIN32) install(TARGETS celeste RUNTIME DESTINATION ${BINDIR}) +ELSEIF(${HUGIN_LIBS_PRIVATE_DIR}) + install(TARGETS celeste LIBRARY DESTINATION ${LIBDIR}/hugin NAMELINK_SKIP) ELSE(WIN32) - install(TARGETS celeste DESTINATION ${LIBDIR}) + install(TARGETS celeste LIBRARY DESTINATION ${LIBDIR} NAMELINK_SKIP) ENDIF(WIN32) ELSE (${HUGIN_SHARED_LIBS}) # messages are quite obtrusive in windows cmakesetup.exe --- hugin-2010.2.0+dfsg~rc2.orig/src/hugin1/base_wx/CMakeLists.txt +++ hugin-2010.2.0+dfsg~rc2/src/hugin1/base_wx/CMakeLists.txt @@ -13,8 +13,10 @@ IF (${HUGIN_SHARED_LIBS}) set_target_properties(huginbasewx PROPERTIES VERSION ${HUGIN_LIB_VERSION}) IF(WIN32) install(TARGETS huginbasewx RUNTIME DESTINATION ${BINDIR}) + ELSEIF(${HUGIN_LIBS_PRIVATE_DIR}) +install(TARGETS huginbasewx LIBRARY DESTINATION ${LIBDIR}/hugin NAMELINK_SKIP) ELSE(WIN32) -install(TARGETS huginbasewx DESTINATION ${LIBDIR}) +install(TARGETS huginbasewx LIBRARY DESTINATION ${LIBDIR}
Re: [hugin-ptx] Re: [RFC] How about installing private libraries in a private directory
2010/11/3 Andreas Metzler ametz...@downhill.at.eu.org Find attached the updated patch that does away with the so-symlinks. cu and- Who can now understand a little bit why cmake is popular, just not having to rerun auto* is an enormous timesaver when testing -reas -- builds and installs as well. No more symlinks for the hugin libs. There are still symlinks for: libicpfindlib.0.0.dylib libicpfindlib.dylib - libicpfindlib.0.0.dylib liblocalfeatures.0.0.dylib liblocalfeatures.dylib - liblocalfeatures.0.0.dylib libmakefilelib.0.0.dylib libmakefilelib.dylib - libmakefilelib.0.0.dylib Are these symlinks still there on purpose? Harry -- You received this message because you are subscribed to the Google Groups Hugin and other free panoramic software group. A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ To post to this group, send email to hugin-ptx@googlegroups.com To unsubscribe from this group, send email to hugin-ptx+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/hugin-ptx
Re: [hugin-ptx] Re: [RFC] How about installing private libraries in a private directory
On Wed 03-Nov-2010 at 19:49 +0100, Andreas Metzler wrote: Find attached the updated patch that does away with the so-symlinks. This doesn't quite work for me, I guess you are working against the 2010.2.0 release because only some of the libraries in the tip get put in $LIBDIR/hugin These are ok: libceleste.so.0.0 libhuginANN.so.0.0 libhuginbase.so.0.0 libhuginbasewx.so.0.0 libhuginvigraimpex.so.0.0 These are still installed in $LIBDIR (also they still have symlinks): libicpfindlib.so.0.0 liblocalfeatures.so.0.0 libmakefilelib.so.0.0 ..but also I see the new Hugin is linked to the existing system versions of all these libraries rather than the private ones. I need to do some more tests to figure-out why. -- Bruno -- You received this message because you are subscribed to the Google Groups Hugin and other free panoramic software group. A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ To post to this group, send email to hugin-ptx@googlegroups.com To unsubscribe from this group, send email to hugin-ptx+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/hugin-ptx
Re: [hugin-ptx] Re: [RFC] How about installing private libraries in a private directory
2010/11/3 Bruno Postle br...@postle.net ..but also I see the new Hugin is linked to the existing system versions of all these libraries rather than the private ones. I need to do some more tests to figure-out why. -- Bruno What do you mean? You have the default hugin from Fedora (I think it was) installed and the new hugin links against these libs? That's also common on OSX for hugin for I can't remember how long. I always have to clean other hugin builds. Currently I'm doing the last things on the macports build for hugin 2010.2.0. When workng on macports I need to remove the standard cmake build (to /usr/local) and otherwise when working on the macports on (/opt/local) Harry -- You received this message because you are subscribed to the Google Groups Hugin and other free panoramic software group. A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ To post to this group, send email to hugin-ptx@googlegroups.com To unsubscribe from this group, send email to hugin-ptx+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/hugin-ptx
Re: [hugin-ptx] Re: [RFC] How about installing private libraries in a private directory
On Wed 03-Nov-2010 at 20:55 +0100, Harry van der Wolf wrote: 2010/11/3 Bruno Postle br...@postle.net ..but also I see the new Hugin is linked to the existing system versions of all these libraries rather than the private ones. I need to do some more tests to figure-out why. What do you mean? You have the default hugin from Fedora (I think it was) installed and the new hugin links against these libs? Yes, the attraction of making the libraries private is that it should be possible to install multiple versions of Hugin to /opt/hugin-tip or /opt/hugin-overview-branch or whatever and be able to use them simultaneously. -- Bruno -- You received this message because you are subscribed to the Google Groups Hugin and other free panoramic software group. A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ To post to this group, send email to hugin-ptx@googlegroups.com To unsubscribe from this group, send email to hugin-ptx+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/hugin-ptx
Re: [hugin-ptx] Re: [RFC] How about installing private libraries in a private directory
On Wed 03-Nov-2010 at 20:51 +, Bruno Postle wrote: Yes, the attraction of making the libraries private is that it should be possible to install multiple versions of Hugin to /opt/hugin-tip or /opt/hugin-overview-branch or whatever and be able to use them simultaneously. Attached an updated version of the patch that works with the trunk. With this you can install the tip parallel to an existing installation by building it like this: mkdir BUILD cd BUILD cmake .. -DCMAKE_INSTALL_PREFIX=/opt/hugin make sudo make install This will place everything in /opt/hugin So you can launch this new Hugin like so: export PATH=/opt/hugin/bin:$PATH /opt/hugin/bin/hugin -- Bruno -- You received this message because you are subscribed to the Google Groups Hugin and other free panoramic software group. A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ To post to this group, send email to hugin-ptx@googlegroups.com To unsubscribe from this group, send email to hugin-ptx+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/hugin-ptx diff -r a195d763c5d0 CMakeLists.txt --- a/CMakeLists.txtSun Oct 31 12:49:36 2010 -0400 +++ b/CMakeLists.txtWed Nov 03 21:22:27 2010 + @@ -347,6 +347,16 @@ ENDIF (NOT MAC_SELF_CONTAINED_BUNDLE) ENDIF (APPLE) +IF (${HUGIN_SHARED} AND UNIX AND NOT APPLE) + SET(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/${LIBDIR}/hugin) + SET(HUGIN_LIBS_PRIVATE_DIR 1 CACHE INTERNAL Store internal +libraries in private subdirectory ) +ELSE (${HUGIN_SHARED} AND UNIX AND NOT APPLE) + # On OS X files are moved around after make install, do not try to use + # rpath or CMAKE_INSTALL_NAME_DIR + SET(HUGIN_LIBS_PRIVATE_DIR 0 CACHE INTERNAL Store internal +libraries in private subdirectory ) +ENDIF (${HUGIN_SHARED} AND UNIX AND NOT APPLE) IF (UNIX) IF (${HUGIN_SHARED}) diff -r a195d763c5d0 src/celeste/CMakeLists.txt --- a/src/celeste/CMakeLists.txtSun Oct 31 12:49:36 2010 -0400 +++ b/src/celeste/CMakeLists.txtWed Nov 03 21:22:27 2010 + @@ -58,8 +58,10 @@ set_target_properties(celeste PROPERTIES VERSION ${HUGIN_LIB_VERSION}) IF(WIN32) install(TARGETS celeste RUNTIME DESTINATION ${BINDIR}) +ELSEIF(${HUGIN_LIBS_PRIVATE_DIR}) + install(TARGETS celeste LIBRARY DESTINATION ${LIBDIR}/hugin NAMELINK_SKIP) ELSE(WIN32) - install(TARGETS celeste DESTINATION ${LIBDIR}) + install(TARGETS celeste LIBRARY DESTINATION ${LIBDIR} NAMELINK_SKIP) ENDIF(WIN32) ELSE (${HUGIN_SHARED_LIBS}) # messages are quite obtrusive in windows cmakesetup.exe diff -r a195d763c5d0 src/foreign/ANN/CMakeLists.txt --- a/src/foreign/ANN/CMakeLists.txtSun Oct 31 12:49:36 2010 -0400 +++ b/src/foreign/ANN/CMakeLists.txtWed Nov 03 21:22:27 2010 + @@ -14,8 +14,10 @@ set_target_properties(huginANN PROPERTIES VERSION ${HUGIN_LIB_VERSION}) IF(WIN32) install(TARGETS huginANN RUNTIME DESTINATION ${BINDIR}) + ELSEIF(${HUGIN_LIBS_PRIVATE_DIR}) +install(TARGETS huginANN LIBRARY DESTINATION ${LIBDIR}/hugin NAMELINK_SKIP) ELSE(WIN32) -install(TARGETS huginANN DESTINATION ${LIBDIR}) +install(TARGETS huginANN LIBRARY DESTINATION ${LIBDIR} NAMELINK_SKIP) ENDIF(WIN32) ELSE (${HUGIN_SHARED_LIBS}) add_library(huginANN STATIC ${ANN_SRC} ${ANN_HEADERS}) diff -r a195d763c5d0 src/foreign/vigra/vigra_impex/CMakeLists.txt --- a/src/foreign/vigra/vigra_impex/CMakeLists.txt Sun Oct 31 12:49:36 2010 -0400 +++ b/src/foreign/vigra/vigra_impex/CMakeLists.txt Wed Nov 03 21:22:27 2010 + @@ -10,8 +10,10 @@ set_target_properties(huginvigraimpex PROPERTIES VERSION ${HUGIN_LIB_VERSION}) IF(WIN32) install(TARGETS huginvigraimpex RUNTIME DESTINATION ${BINDIR}) + ELSEIF(${HUGIN_LIBS_PRIVATE_DIR}) +install(TARGETS huginvigraimpex LIBRARY DESTINATION ${LIBDIR}/hugin NAMELINK_SKIP) ELSE(WIN32) -install(TARGETS huginvigraimpex DESTINATION ${LIBDIR}) +install(TARGETS huginvigraimpex LIBRARY DESTINATION ${LIBDIR} NAMELINK_SKIP) ENDIF(WIN32) ELSE (${HUGIN_SHARED_LIBS}) add_library(huginvigraimpex STATIC ${VIGRA_IMPEX_SRC} ${VIGRA_IMPEX_HEADER}) diff -r a195d763c5d0 src/hugin1/base_wx/CMakeLists.txt --- a/src/hugin1/base_wx/CMakeLists.txt Sun Oct 31 12:49:36 2010 -0400 +++ b/src/hugin1/base_wx/CMakeLists.txt Wed Nov 03 21:22:27 2010 + @@ -13,8 +13,10 @@ set_target_properties(huginbasewx PROPERTIES VERSION ${HUGIN_LIB_VERSION}) IF(WIN32) install(TARGETS huginbasewx RUNTIME DESTINATION ${BINDIR}) + ELSEIF(${HUGIN_LIBS_PRIVATE_DIR}) +install(TARGETS huginbasewx LIBRARY DESTINATION ${LIBDIR}/hugin NAMELINK_SKIP) ELSE(WIN32) -install(TARGETS huginbasewx DESTINATION ${LIBDIR}) +install(TARGETS huginbasewx LIBRARY DESTINATION ${LIBDIR} NAMELINK_SKIP) ENDIF(WIN32) ELSE (${HUGIN_SHARED_LIBS}) add_library(huginbasewx STATIC ${HUGIN_WX_BASE_SRC}
Re: [hugin-ptx] Re: [RFC] How about installing private libraries in a private directory
On Wed 03-Nov-2010 at 20:51 +, Bruno Postle wrote: Yes, the attraction of making the libraries private is that it should be possible to install multiple versions of Hugin to /opt/hugin-tip or /opt/hugin-overview-branch or whatever and be able to use them simultaneously. Just to prove the point, here is a snapshot of the 2010.3.0 tip running at the same time as the 2010.2.0 release: http://www.flickr.com/photos/36383...@n00/5143546261/ -- Bruno -- You received this message because you are subscribed to the Google Groups Hugin and other free panoramic software group. A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ To post to this group, send email to hugin-ptx@googlegroups.com To unsubscribe from this group, send email to hugin-ptx+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/hugin-ptx
[hugin-ptx] Re: [RFC] How about installing private libraries in a private directory
Bruno Postle br...@postle.net wrote: [...] Yes the libraries are private, for now anyway, we also don't install header files that you would need if they were 'public'. Since nobody should be linking to the libraries we shouldn't be installing the .so symlinks either. Hello, I will uprovide an updated the patch like this ... IF(WIN32) install(TARGETS huginANN RUNTIME DESTINATION ${BINDIR}) ELSEIF(${HUGIN_LIBS_PRIVATE_DIR}) -install(TARGETS huginANN DESTINATION ${LIBDIR}/hugin) +install(TARGETS huginANN LIBRARY DESTINATION ${LIBDIR}/hugin NAMELINK_SKIP) ELSE(WIN32) -install(TARGETS huginANN DESTINATION ${LIBDIR}) +install(TARGETS huginANN LIBRARY DESTINATION ${LIBDIR} NAMELINK_SKIP) ENDIF(WIN32) ELSE (${HUGIN_SHARED_LIBS}) ... assuming it is save to drop the .so symlink on APPLE, too. cu andreas -- `What a good friend you are to him, Dr. Maturin. His other friends are so grateful to you.' `I sew his ears on from time to time, sure' -- You received this message because you are subscribed to the Google Groups Hugin and other free panoramic software group. A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ To post to this group, send email to hugin-ptx@googlegroups.com To unsubscribe from this group, send email to hugin-ptx+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/hugin-ptx
Re: [hugin-ptx] Re: [RFC] How about installing private libraries in a private directory
Hi, 2010/11/2 Andreas Metzler ametz...@downhill.at.eu.org Bruno Postle br...@postle.net wrote: [...] Yes the libraries are private, for now anyway, we also don't install header files that you would need if they were 'public'. Since nobody should be linking to the libraries we shouldn't be installing the .so symlinks either. Hello, I will uprovide an updated the patch like this ... IF(WIN32) install(TARGETS huginANN RUNTIME DESTINATION ${BINDIR}) ELSEIF(${HUGIN_LIBS_PRIVATE_DIR}) -install(TARGETS huginANN DESTINATION ${LIBDIR}/hugin) +install(TARGETS huginANN LIBRARY DESTINATION ${LIBDIR}/hugin NAMELINK_SKIP) ELSE(WIN32) -install(TARGETS huginANN DESTINATION ${LIBDIR}) +install(TARGETS huginANN LIBRARY DESTINATION ${LIBDIR} NAMELINK_SKIP) ENDIF(WIN32) ELSE (${HUGIN_SHARED_LIBS}) ... assuming it is save to drop the .so symlink on APPLE, too. cu andreas Your current patch of 31st October, which skips Apple for it's new config, builds and works fine on OSX. Hugin on Apple also uses the full library name (libhuginbasewx.0.0.dylib) so Apple could do without the symlinks as well. Note though that OSX libraries end in .dylib. Harry -- You received this message because you are subscribed to the Google Groups Hugin and other free panoramic software group. A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ To post to this group, send email to hugin-ptx@googlegroups.com To unsubscribe from this group, send email to hugin-ptx+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/hugin-ptx
[hugin-ptx] Re: [RFC] How about installing private libraries in a private directory
Harry van der Wolf hvdw...@gmail.com wrote: 2010/10/31 Andreas Metzler ametz...@downhill.at.eu.org [...] Anyway, how about making this fact [1] a little bit more official by moving the libs to a private subdirectory ($libdir/hugin) and using rpath? Suggested patch attached. [...] This patch will fail on OSX as OSX doesn't support rpath. What's more: it will require extra (manual) steps (or scripted shell like includes) to correct it for the entire build using the install_name or libtool (not the same as the standard GNU libtool). I need to check further to see if it can be done automatically. If this patch is to be applied before I have found a solution, it should be something like if UNIX and !__APPLE__. Hello, I am not familiar with OS X packages, however I have taken a short look at the contents of the official binary packages. They already seem to store the libraries in private directory (Hugin.app/Contents/Libraries/). Which somehow suggests that your hotfix if UNIX and !__APPLE__might be the correct way to solve this, since cmake already seems to handle the app-specifc libdir case correctly. Otherwise googling suggests IF (__APPLE__) SET(CCMAKE_INSTALL_NAME_DIR magic_string_here) ELSE (__APPLE__) SET(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/${LIBDIR}/hugin) ENDIF (__APPLE__) but I have no idea for the value of magic_string_here. cu andreas -- `What a good friend you are to him, Dr. Maturin. His other friends are so grateful to you.' `I sew his ears on from time to time, sure' -- You received this message because you are subscribed to the Google Groups Hugin and other free panoramic software group. A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ To post to this group, send email to hugin-ptx@googlegroups.com To unsubscribe from this group, send email to hugin-ptx+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/hugin-ptx
Re: [hugin-ptx] Re: [RFC] How about installing private libraries in a private directory
Hi Andreas, 2010/10/31 Andreas Metzler ametz...@downhill.at.eu.org Hello, I am not familiar with OS X packages, however I have taken a short look at the contents of the official binary packages. They already seem to store the libraries in private directory (Hugin.app/Contents/Libraries/). Which somehow suggests that your hotfix if UNIX and !__APPLE__might be the correct way to solve this, since cmake already seems to handle the app-specifc libdir case correctly. Otherwise googling suggests IF (__APPLE__) SET(CCMAKE_INSTALL_NAME_DIR magic_string_here) ELSE (__APPLE__) SET(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/${LIBDIR}/hugin) ENDIF (__APPLE__) but I have no idea for the value of magic_string_here. cu andreas -- ` The cmake version of Hugin is like any unix/bsd/linux version and just installs the libraries in /usr/local/lib by default or the prefix your prefer, with the limitation however that rpath is unknown. The bundle is created from the XCode IDE and is post-linked and structured in a totally different way. Some parts are done automatically by XCode, some parts, e.g. the external dependent libraries, are scripted inside XCode. I prefer to keep the cmake version as standard as possible. Standard with regard to normal cmake, make, (sudo) make install commands and command execution without extra shells scripts being called. Somewhere in winter-spring 2010 I tried to use the IF (__APPLE__) SET(CMAKE_INSTALL_NAME_DIR magic_string_here), but it is a general string. It means that it has to be added differently for libraries and binaries. At that time I couldn't make it successful and removed it again from the trunk. Perhaps due to my lacking skills but also due to the fact that cmake didn't handle this entirely correct. As mentioned: I don't mind this to be changed but it needs to exclude Apple as long as I or someone else hasn't found a solution. It's no problem to keep it a little longer in the old .../lib library folder on Apple where it has been for so many years. In that case the mac community will pick up a little later. As mentioned in an earlier post: I have spent quite some time on Hugin the past months and currently want to look at the other projects I'm involved in for OSX, as well as do some home video editing from the past few holidays in 2010 and one from 2009. So, I prefer that the Apple cmake build remains like this and not gets broken because we lack the resources to correct it to the new design. Please exclude Apple temporarily (unless someone else jumps in to do it off course). Hoi, Harry -- You received this message because you are subscribed to the Google Groups Hugin and other free panoramic software group. A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ To post to this group, send email to hugin-ptx@googlegroups.com To unsubscribe from this group, send email to hugin-ptx+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/hugin-ptx
[hugin-ptx] Re: [RFC] How about installing private libraries in a private directory
On 2010-10-31 Harry van der Wolf hvdw...@gmail.com wrote: [...] The cmake version of Hugin is like any unix/bsd/linux version and just installs the libraries in /usr/local/lib by default or the prefix your prefer, with the limitation however that rpath is unknown. The bundle is created from the XCode IDE and is post-linked and structured in a totally different way. Some parts are done automatically by XCode, some parts, e.g. the external dependent libraries, are scripted inside XCode. I prefer to keep the cmake version as standard as possible. Standard with regard to normal cmake, make, (sudo) make install commands and command execution without extra shells scripts being called. Thanks for the explanation. [...] So, I prefer that the Apple cmake build remains like this and not gets broken because we lack the resources to correct it to the new design. Please exclude Apple temporarily (unless someone else jumps in to do it off course). Updated patch attached. Works for me on linux. cu andreas -- `What a good friend you are to him, Dr. Maturin. His other friends are so grateful to you.' `I sew his ears on from time to time, sure' -- You received this message because you are subscribed to the Google Groups Hugin and other free panoramic software group. A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ To post to this group, send email to hugin-ptx@googlegroups.com To unsubscribe from this group, send email to hugin-ptx+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/hugin-ptx diff -NurBbp a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt 2010-09-29 00:06:42.0 +0200 +++ b/CMakeLists.txt 2010-10-31 16:00:40.0 +0100 @@ -343,6 +343,16 @@ IF (APPLE) ENDIF (NOT MAC_SELF_CONTAINED_BUNDLE) ENDIF (APPLE) +IF (${HUGIN_SHARED} AND UNIX AND NOT APPLE) + SET(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/${LIBDIR}/hugin) + SET(HUGIN_LIBS_PRIVATE_DIR 1 CACHE INTERNAL Store internal +libraries in private subdirectory ) +ELSE (${HUGIN_SHARED} AND UNIX AND NOT APPLE) + # On OS X files are moved around after make install, do not try to use + # rpath or CMAKE_INSTALL_NAME_DIR + SET(HUGIN_LIBS_PRIVATE_DIR 0 CACHE INTERNAL Store internal +libraries in private subdirectory ) +ENDIF (${HUGIN_SHARED} AND UNIX AND NOT APPLE) IF (UNIX) IF (${HUGIN_SHARED}) diff -NurBbp a/src/celeste/CMakeLists.txt b/src/celeste/CMakeLists.txt --- a/src/celeste/CMakeLists.txt 2010-09-29 00:06:44.0 +0200 +++ b/src/celeste/CMakeLists.txt 2010-10-31 15:52:03.0 +0100 @@ -58,6 +58,8 @@ IF (${HUGIN_SHARED_LIBS}) set_target_properties(celeste PROPERTIES VERSION ${HUGIN_LIB_VERSION}) IF(WIN32) install(TARGETS celeste RUNTIME DESTINATION ${BINDIR}) +ELSEIF(${HUGIN_LIBS_PRIVATE_DIR}) + install(TARGETS celeste DESTINATION ${LIBDIR}/hugin) ELSE(WIN32) install(TARGETS celeste DESTINATION ${LIBDIR}) ENDIF(WIN32) diff -NurBbp a/src/foreign/ANN/CMakeLists.txt b/src/foreign/ANN/CMakeLists.txt --- a/src/foreign/ANN/CMakeLists.txt 2010-09-29 00:06:43.0 +0200 +++ b/src/foreign/ANN/CMakeLists.txt 2010-10-31 15:53:55.0 +0100 @@ -14,6 +14,8 @@ IF (${HUGIN_SHARED_LIBS}) set_target_properties(huginANN PROPERTIES VERSION ${HUGIN_LIB_VERSION}) IF(WIN32) install(TARGETS huginANN RUNTIME DESTINATION ${BINDIR}) + ELSEIF(${HUGIN_LIBS_PRIVATE_DIR}) +install(TARGETS huginANN DESTINATION ${LIBDIR}/hugin) ELSE(WIN32) install(TARGETS huginANN DESTINATION ${LIBDIR}) ENDIF(WIN32) diff -NurBbp a/src/foreign/vigra/vigra_impex/CMakeLists.txt b/src/foreign/vigra/vigra_impex/CMakeLists.txt --- a/src/foreign/vigra/vigra_impex/CMakeLists.txt 2010-09-29 00:06:43.0 +0200 +++ b/src/foreign/vigra/vigra_impex/CMakeLists.txt 2010-10-31 15:55:23.0 +0100 @@ -10,6 +10,8 @@ IF (${HUGIN_SHARED_LIBS}) set_target_properties(huginvigraimpex PROPERTIES VERSION ${HUGIN_LIB_VERSION}) IF(WIN32) install(TARGETS huginvigraimpex RUNTIME DESTINATION ${BINDIR}) + ELSEIF(${HUGIN_LIBS_PRIVATE_DIR}) +install(TARGETS huginvigraimpex DESTINATION ${LIBDIR}/hugin) ELSE(WIN32) install(TARGETS huginvigraimpex DESTINATION ${LIBDIR}) ENDIF(WIN32) diff -NurBbp a/src/hugin1/base_wx/CMakeLists.txt b/src/hugin1/base_wx/CMakeLists.txt --- a/src/hugin1/base_wx/CMakeLists.txt 2010-09-29 00:06:44.0 +0200 +++ b/src/hugin1/base_wx/CMakeLists.txt 2010-10-31 15:56:50.0 +0100 @@ -13,6 +13,8 @@ IF (${HUGIN_SHARED_LIBS}) set_target_properties(huginbasewx PROPERTIES VERSION ${HUGIN_LIB_VERSION}) IF(WIN32) install(TARGETS huginbasewx RUNTIME DESTINATION ${BINDIR}) + ELSEIF(${HUGIN_LIBS_PRIVATE_DIR}) +install(TARGETS huginbasewx DESTINATION ${LIBDIR}/hugin) ELSE(WIN32) install(TARGETS huginbasewx DESTINATION ${LIBDIR}) ENDIF(WIN32) diff -NurBbp a/src/hugin_base/CMakeLists.txt b/src/hugin_base/CMakeLists.txt ---