On Wed 03-Nov-2010 at 20:51 +0000, 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 [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at http://groups.google.com/group/hugin-ptx
diff -r a195d763c5d0 CMakeLists.txt
--- a/CMakeLists.txt    Sun Oct 31 12:49:36 2010 -0400
+++ b/CMakeLists.txt    Wed Nov 03 21:22:27 2010 +0000
@@ -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.txt        Sun Oct 31 12:49:36 2010 -0400
+++ b/src/celeste/CMakeLists.txt        Wed Nov 03 21:22:27 2010 +0000
@@ -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.txt    Sun Oct 31 12:49:36 2010 -0400
+++ b/src/foreign/ANN/CMakeLists.txt    Wed Nov 03 21:22:27 2010 +0000
@@ -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 +0000
@@ -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 +0000
@@ -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} ${HUGIN_WX_BASE_HEADER})
diff -r a195d763c5d0 src/hugin1/icpfind/CMakeLists.txt
--- a/src/hugin1/icpfind/CMakeLists.txt Sun Oct 31 12:49:36 2010 -0400
+++ b/src/hugin1/icpfind/CMakeLists.txt Wed Nov 03 21:22:27 2010 +0000
@@ -7,8 +7,10 @@
   SET_TARGET_PROPERTIES(icpfindlib PROPERTIES VERSION ${HUGIN_LIB_VERSION})

   IF(WIN32)

     INSTALL(TARGETS icpfindlib RUNTIME DESTINATION ${BINDIR})

+  ELSEIF(${HUGIN_LIBS_PRIVATE_DIR})

+    install(TARGETS icpfindlib LIBRARY DESTINATION ${LIBDIR}/hugin 
NAMELINK_SKIP)

   ELSE(WIN32)

-    INSTALL(TARGETS icpfindlib DESTINATION ${LIBDIR})

+    INSTALL(TARGETS icpfindlib LIBRARY DESTINATION ${LIBDIR} NAMELINK_SKIP)

   ENDIF(WIN32)

 ELSE (${HUGIN_SHARED_LIBS})

   ADD_LIBRARY(icpfindlib STATIC ${ICPFIND_LIB_SRC} ${ICPFIND_LIB_HEADER})

diff -r a195d763c5d0 src/hugin_base/CMakeLists.txt
--- a/src/hugin_base/CMakeLists.txt     Sun Oct 31 12:49:36 2010 -0400
+++ b/src/hugin_base/CMakeLists.txt     Wed Nov 03 21:22:27 2010 +0000
@@ -135,8 +135,10 @@
   set_target_properties(huginbase PROPERTIES VERSION ${HUGIN_LIB_VERSION})
   IF(WIN32)
     install(TARGETS huginbase RUNTIME DESTINATION ${BINDIR})
+  ELSEIF(${HUGIN_LIBS_PRIVATE_DIR})
+    install(TARGETS huginbase LIBRARY DESTINATION ${LIBDIR}/hugin 
NAMELINK_SKIP)
   ELSE(WIN32)
-    install(TARGETS huginbase DESTINATION ${LIBDIR})
+    install(TARGETS huginbase LIBRARY DESTINATION ${LIBDIR} NAMELINK_SKIP)
   ENDIF(WIN32)
 ELSE (${HUGIN_SHARED_LIBS})
   add_library(huginbase STATIC ${HUGIN_BASE_SRC} ${HUGIN_BASE_HEADER})
diff -r a195d763c5d0 src/hugin_base/makefilelib/CMakeLists.txt
--- a/src/hugin_base/makefilelib/CMakeLists.txt Sun Oct 31 12:49:36 2010 -0400
+++ b/src/hugin_base/makefilelib/CMakeLists.txt Wed Nov 03 21:22:27 2010 +0000
@@ -14,8 +14,10 @@
   set_target_properties(makefilelib PROPERTIES VERSION ${HUGIN_LIB_VERSION})
   IF(WIN32)
     install(TARGETS makefilelib RUNTIME DESTINATION ${BINDIR})
+  ELSEIF(${HUGIN_LIBS_PRIVATE_DIR})
+    install(TARGETS makefilelib LIBRARY DESTINATION ${LIBDIR}/hugin 
NAMELINK_SKIP)
   ELSE(WIN32)
-    install(TARGETS makefilelib DESTINATION ${LIBDIR})
+    install(TARGETS makefilelib LIBRARY DESTINATION ${LIBDIR} NAMELINK_SKIP)
   ENDIF(WIN32)
 ELSE (${HUGIN_SHARED_LIBS})
   add_library(makefilelib STATIC ${MAKEFILELIB_SRC} ${MAKEFILELIB_HEADER})
@@ -46,4 +48,4 @@
 
 add_executable(example example.cpp)
 target_link_libraries(example makefilelib)
-ENDIF()
\ No newline at end of file
+ENDIF()
diff -r a195d763c5d0 src/hugin_cpfind/localfeatures/CMakeLists.txt
--- a/src/hugin_cpfind/localfeatures/CMakeLists.txt     Sun Oct 31 12:49:36 
2010 -0400
+++ b/src/hugin_cpfind/localfeatures/CMakeLists.txt     Wed Nov 03 21:22:27 
2010 +0000
@@ -13,8 +13,10 @@
     set_target_properties(localfeatures PROPERTIES VERSION 
${HUGIN_LIB_VERSION})
     IF(WIN32)
       install(TARGETS localfeatures RUNTIME DESTINATION ${BINDIR})
+    ELSEIF(${HUGIN_LIBS_PRIVATE_DIR})
+      install(TARGETS localfeatures LIBRARY DESTINATION ${LIBDIR}/hugin 
NAMELINK_SKIP)
     ELSE(WIN32)
-      install(TARGETS localfeatures DESTINATION ${LIBDIR})
+      install(TARGETS localfeatures LIBRARY DESTINATION ${LIBDIR} 
NAMELINK_SKIP)
     ENDIF(WIN32)
 ELSE (${HUGIN_SHARED_LIBS})
     add_library(localfeatures STATIC ${LF_SRC} ${LF_HEADER})

Reply via email to