Re: [hugin-ptx] Re: [RFC] How about installing private libraries in a private directory

2010-11-05 Thread Harry van der Wolf
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

2010-11-04 Thread Bruno Postle

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

2010-11-03 Thread Andreas Metzler
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-03 Thread Harry van der Wolf
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

2010-11-03 Thread Bruno Postle

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-03 Thread Harry van der Wolf
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

2010-11-03 Thread Bruno Postle

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

2010-11-03 Thread Bruno Postle

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

2010-11-03 Thread Bruno Postle

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

2010-11-02 Thread Andreas Metzler
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

2010-11-02 Thread Harry van der Wolf
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

2010-10-31 Thread Andreas Metzler
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

2010-10-31 Thread Harry van der Wolf
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

2010-10-31 Thread Andreas Metzler
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
---