[CMake] Setting target destination and rpath per generator

Daryl N darylhouse2004 at yahoo.com
Tue Feb 15 20:16:41 EST 2011


Thank you!  I did not know about $ORIGIN but that is indeed exactly what I need.




________________________________
From: Alexander Neundorf <a.neundorf-work at gmx.net>
To: cmake at cmake.org
Cc: Daryl N <darylhouse2004 at yahoo.com>
Sent: Tue, February 15, 2011 3:45:25 PM
Subject: Re: [CMake] Setting target destination and rpath per generator

On Tuesday 15 February 2011, Daryl N wrote:
> Hi,
>
> I have a question on the use of CPack.  I have CMake setup to generate
> binaries and shared libraries.  Up until now I have only created a TGZ with
> rpath set to ".".  This has worked nicely, but now I would like to create a
> Debian package for proper installation.  I have added DEB to
> CPACK_GENERATOR and I've created my own cpack_config.cmake file.  My goal
> is:
>
> 1. Run cmake/make package once and create the tar.gz file with all exe/libs
> in the root folder of the tar.gz file with rpath set to ".".
> 2. Create new .deb package with exes in /usr/local/bin and libs in
> /usr/local/lib.  Alternatively, since files are private, all could be put
> in /usr/local/<some folder>.
>
> I've attempted this by creating my own cpack_config.cmake file to try to
> override some settings per generator.  Some observations:
>
> 1. I've been unable to set the install(<target> DESTINATION) path per
> generator in my cpack_config.cmake file.  Whatever the variable is set to
> when the install(...) is processed in the CMakeLists.txt file is what is
> used for all generators.  Just want to confirm changing this isn't an
> option per generator.
>
> The above has prevented me from having my install lines like:
>     install(<target> DESTINATION ${BIN_PATH})
>     install(<target> DESTINATION ${LIB_PATH})
> and then setting BIN_PATH to bin and LIB_PATH to lib for DEB, but setting
> them to "." for TGZ, since I can't change the variable in
> cpack_config.cmake.

Are you sure "." does what you want ? I can remember I tried it to, and didn't 
what I needed, but I can't remember the details.

Do you know about $ORIGIN for the RPATH ? This means the location of the 
containing ELF file.

Alex



      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20110215/b937cbb9/attachment.htm>


More information about the CMake mailing list