[CMake] cmake install and rpath
James Bigler
bigler at cs.utah.edu
Wed Oct 17 15:36:10 EDT 2007
Does anyone have any examples of creating relative rpaths for installation?
James
James Bigler wrote:
> I tried digging through through the mailing list and experimenting on my
> own, but I don't seem to be able to figure this out.
>
> I have a toy project that has a shared library and an executable. I've
> set it up, so that it can be installed to what ever the
> CMAKE_INTALL_PREFIX is which works fine. The installed executable is
> relinked before installing to have the correct RPATH.
>
> I tried to use CPack with the TGZ target and it created a tar ball with
> bin and lib, but the executable still had ${CMAKE_INSTALL_PREFIX}/lib
> linked. I would have assumed that something would have relinked my
> executable to contain a relative path to the library based on the
> CMAKE_INSTALL_PREFIX.
>
> I'm using CMake 2.4.6 on Linux.
>
> Thanks,
> James
>
> This is the CMakeLists.txt file I'm using:
>
> PROJECT (Narf)
>
> SET(BUILD_SHARED_LIBS ON CACHE BOOL "Building shared or static libraries")
>
> MESSAGE("CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}")
> MESSAGE("INSTALL_RPATH = ${INSTALL_RPATH}")
>
> INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
>
> ADD_LIBRARY(narfencode encode.cc encode.h)
>
> ADD_EXECUTABLE(narf main.cc)
> TARGET_LINK_LIBRARIES(narf narfencode)
>
> SET_TARGET_PROPERTIES(narf
> PROPERTIES BUILD_WITH_INSTALL_RPATH OFF
> INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib
> INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/bin
> )
>
> INSTALL(TARGETS narf narfencode
> RUNTIME DESTINATION bin
> LIBRARY DESTINATION lib
> ARCHIVE DESTINATION lib
> )
>
> INCLUDE(CPack)
>
> _______________________________________________
> CMake mailing list
> CMake at cmake.org
> http://www.cmake.org/mailman/listinfo/cmake
More information about the CMake
mailing list