Alan W. Irwin wrote: > I build modules with cmake which depend on external libraries which may be > installed in non-standard locations. The modules also depend on cmake > targets. These modules are checked at build time with a small application > that dynamically loads them. These modules are also installed (possibly > using a non-standard install prefix). Thus, the build-tree version and > installed version of the modules need different rpaths. For the build-tree > version I want to set an RPATH to access the directories of external > libraries and the build-tree targets. For the installed version I want to > set an RPATH to access the directories of the external libraries and the > install-tree targets. > > If I simply specify the cmake targets and the fullpathname of the external > libraries which the module depends on using TARGET_LINK_LIBRARIES will > CMake > automatically do what I want with RPATH? Or do I have to use some > combinations of the RPATH-related properties specified in the man page for > SET_TARGET_PROPERTIES. Or some combination of the two approaches?
If you don't set BUILD_WITH_INSTALL_RPATH or SKIP_BUILD_RPATH properties then the modules built into the build tree will have the proper rpath to load from there. Then just set the INSTALL_RPATH property to the desired rpath for the installed version. When you run "make install" a separate copy will be linked and installed with the modified rpath. Summary: Just set INSTALL_RPATH on the module target to be the rpath needed in the install tree. Then things will just work. -Brad _______________________________________________ CMake mailing list [email protected] http://www.cmake.org/mailman/listinfo/cmake
