I one more quick point: I don't want to install the libraries to standard locations because there may be multiple Fortran compilers installed on a given system, and client code cannot be built and linked using a different compiler than the library. Therefore the library and mod files and CMake package-config files are disambiguated by adding the compiler ID to the install path and package name. This way versions of the library built with different compilers can be installed and accessible on the same system.
On Friday, May 2, 2014, Izaak Beekman <[email protected]> wrote: > Hi, > After much head scratching and googling, I found a way to get the dynamic > library built in a project of mine to have the correct install name, so > long as `DESTDIR=/some/path` is NOT specified upon install. Basically I > want to export the library from both the build tree and the install tree so > that client projects can choose whether or not they want to install the > project (which provides static and dynamic libraries) or just link against > it from the build tree. (If they choose to link against the dylib in the > build tree the this could cause them issues down the road, for example if > they `make clean`, but the implications of linking against a dylib in the > build tree seem fairly obvious.) Right now I am doing this by using the > CMAKE_INSTALL_NAME_DIR variable. I just have the full path to the install > directory in that variable. This way when I build it CMake is smart enough > to use the build tree as the install name, then change it during the > install. However, it would be nice to be able to support DESTDIR. > > Is there a way to do this? Or a better way than I am currently doing it? > Should I be building a framework or bundle on mac... the using > `fixup_bundle()` or the like... This seems like overkill for this library, > but maybe it's the only portable easy way to do this. Or maybe I could call > install_name_tool after the install to ensure that the dylib knows the full > absolute path to itself? > > Other than explicitly setting the > Izaak Beekman > =================================== > (301)244-9367 > UMD-CP Visiting Graduate Student > Aerospace Engineering > [email protected]<javascript:_e(%7B%7D,'cvml','[email protected]');> > [email protected] <javascript:_e(%7B%7D,'cvml','[email protected]');> > -- Izaak Beekman =================================== (301)244-9367 Princeton University Doctoral Candidate Mechanical and Aerospace Engineering [email protected] UMD-CP Visiting Graduate Student Aerospace Engineering [email protected] [email protected]
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
