Karl Merkley wrote:

On Jun 16, 2006, at 11:47 AM, Brad King wrote:

Karl Merkley wrote:

Does CPack have any ability to help with the install_name_tool on the Mac? Mac applications avoid DLL hell by creating an application bundle that is really a directory structure that includes the application, the resources, and the shared libraries used by the application. My understanding is that the install_name_tool essentially modifies the RPATH of the distributed application so that it looks for the shared libraries in the bundle rather than some random location. I have a script that I run to make this all work, but it has to be modified as libraries change. Or, if I somehow forget to run this step the whole distribution is bad. Does CPack help with this?

In CMake 2.4 there is an INSTALL_NAME_DIR property that you can use to control the install_name of the installed library or executable.

So this is actually part of the make install process then, right?

Yes, but it can be made to happen at build time too if you do not care about running from the build tree (the BUILD_WITH_INSTALL_RPATH property).

> Are
there any examples anywhere? I'd even be willing to write it up in the wiki ;-)

If you get it working a Wiki entry would be great. Here is an example to get you started (from memory):

ADD_LIBRARY(mylib SHARED ...)
SET_TARGET_PROPERTIES(mylib PROPERTIES
  INSTALL_NAME_DIR "@executable_path/../lib"
  )
ADD_EXECUTABLE(myexe ...)
TARGET_LINK_LIBRARIES(myexe mylib)
INSTALL(TARGETS mylib DESTINATION lib)
INSTALL(TARGETS myexe DESTINATION bin)

You'll have to modify this example to be bundle-specific.

-Brad
_______________________________________________
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to