[CMake] target_link_libraries replacing fully-qualified library with -l<x>

Chris Green greenc at fnal.gov
Thu Jan 29 09:39:33 EST 2015


On 1/29/15 7:41 AM, Brad King wrote:
> On 01/28/2015 03:12 PM, Chris Green wrote:
>> target_link_libraries(<target> /X/Y/libtbb.so)
>>
>> results in link.txt files containing -ltbb.
> This happens when the library is in an implicit link directory,
> or possibly when the library does not have an SONAME field set.
Thanks for this, Brad.

Assuming that the list of implicit link directories is internal to CMake 
and nobody has added to it by mistake, then I'm guessing there's no SONAME:

*$ ls -l $TBB_LIB**
*total 3144
-rw-r--r--. 1 greenc g163      20 Aug 19 07:15 libtbb.so
-rwxr-xr-x. 1 greenc g163 2493406 Aug 19 07:15 libtbb.so.2
-rw-r--r--. 1 greenc g163      26 Aug 19 07:15 libtbbmalloc.so
-rwxr-xr-x. 1 greenc g163  675732 Aug 19 07:15 libtbbmalloc.so.2
-rw-r--r--. 1 greenc g163      32 Aug 19 07:15 libtbbmalloc_proxy.so
-rwxr-xr-x. 1 greenc g163   28976 Aug 19 07:15 libtbbmalloc_proxy.so.2
drwxr-xr-x. 3 greenc g163    4096 Jul 23  2013 tbb
*$ cat $TBB_LIB/libtbb.so**
*INPUT (libtbb.so.2)
*$ objdump -p $TBB_LIB/libtbb.so | grep SONAME**
*objdump: /home/greenc/work/cet-is/products/tbb/v4_2_5/Linux64bit+2.6-2.12-e6-prof/lib/libtbb.so: File format not recognized
*$ objdump -p $TBB_LIB/libtbb.so.2 | grep SONAME**
*   SONAME               libtbb.so.2

I would hazard a guess that the linker instruction in libtbb.so is not 
sufficient currently for CMake to deduce the SONAME as libtbb.so.2. I 
can test a workaround when I get to work of replacing the libtbb.so and 
friends with the more usual symbolic link, but it would be nice if a 
future version of CMake were able to understand this particular system.

Is this analysis correct and reasonable, or is there something I'm missing?

Thanks,
Chris.
>
> For the former case, use an imported target:
>
>   http://www.cmake.org/cmake/help/v3.1/command/add_library.html#imported-libraries
>   http://www.cmake.org/cmake/help/v3.1/manual/cmake-buildsystem.7.html#imported-targets
>
> -Brad
>

-- 
Chris Green <greenc at fnal.gov>, FNAL CS/SCD/ADSS/SSI/SSD;
'phone (630) 840-2167; Skype: chris.h.green;
IM: greenc at jabber.fnal.gov, chissgreen (AIM, Yahoo),
chissg at hotmail.com (MSNM), chris.h.green (Google Talk).

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20150129/43bdf78b/attachment.html>


More information about the CMake mailing list