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)