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.000000000 +0200
+++ b/CMakeLists.txt	2010-10-31 16:00:40.000000000 +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.000000000 +0200
+++ b/src/celeste/CMakeLists.txt	2010-10-31 15:52:03.000000000 +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.000000000 +0200
+++ b/src/foreign/ANN/CMakeLists.txt	2010-10-31 15:53:55.000000000 +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.000000000 +0200
+++ b/src/foreign/vigra/vigra_impex/CMakeLists.txt	2010-10-31 15:55:23.000000000 +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.000000000 +0200
+++ b/src/hugin1/base_wx/CMakeLists.txt	2010-10-31 15:56:50.000000000 +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
--- a/src/hugin_base/CMakeLists.txt	2010-09-29 00:06:43.000000000 +0200
+++ b/src/hugin_base/CMakeLists.txt	2010-10-31 15:58:52.000000000 +0100
@@ -133,6 +133,8 @@ IF (${HUGIN_SHARED_LIBS})
   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 DESTINATION ${LIBDIR}/hugin)
   ELSE(WIN32)
     install(TARGETS huginbase DESTINATION ${LIBDIR})
   ENDIF(WIN32)

Reply via email to