[CMake] LOCATION target property, generator expressions

Hendrik Greving hendrik.greving.smi at gmail.com
Thu Sep 27 20:03:43 EDT 2018


Thanks. Ok one step back. What we want is to have the same relative path
from binary/executable to linked library in build and install tree (which
we assume is the same for us). Looks like by default, e.g. cmake 3.9, puts
in an absolute path. The current (c-)makefiles compute the relative part of
an executable -> library by using LOCATION and add this to
-Wl,-rpath=$ORIGIN/[relative part]. We want to do the same w/o LOCATION
(i.e. resolving CMP0026)

On Thu, Sep 27, 2018 at 7:29 AM Brad King <brad.king at kitware.com> wrote:

> On 09/26/2018 10:23 AM, Hendrik Greving wrote:
> > Is there any way before 3.13 to achieve what I need? Right now we
> > modify LINK_FLAGS based on something that is computed with values
> > from LOCATION.
> [snip]
> > our cmake setup is using LOCATION property for two targets to compute
> > a relative path from these two, and adds this to LINK_FLAGS
> > (for rpath, but irrelevant in this context).
>
> To at least see if 3.13 will support your use case, you could
> try a nightly binary from here:
>
>   https://cmake.org/files/dev/?C=M;O=D
>
> Use `$<TARGET_FILE_DIR:mytarget>/..` to refer to a path relative
> to the target file location.
>
> I've never seen a need to adjust link flags based on the target
> location.  CMake has several features for RPATH support.  What
> are you really trying to do?
>
> -Brad
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://cmake.org/pipermail/cmake/attachments/20180927/5934cda0/attachment.html>


More information about the CMake mailing list