Hi Chris,

Is “tbb” used as a target name and direct link anywhere? e.g.

add_library(tbb IMPORTED …) 

then somewhere else

target_link_libraries(foo PUBLIC tbb)

(you mentioned use of a config Cmake file)? One thing that bit me a while ago 
(but I don’t think 
it’s a CMake bug per se) is that if the target name doesn’t exist (e.g. package 
wasn’t found), then 
“-l<targetname>” is used.

If that is the case, then the solution is to namespace the target:

add_library(tbb::tbb IMPORTED …)

…

target_link_libraries(foo PUBLIC tbb::tbb)


That ensures full paths are used and that a diagnostic is emitted if the 
package/target
wasn’t found.

Cheers,

Ben.

> On 13 Oct 2017, at 00:21, Chris Green <[email protected]> wrote:
> 
> Hi,
> 
> Using CMake 3.9.2, I'm trying to ascertain where an instance of '-ltbb' is 
> getting injected into the link command line of some of our executables. This 
> is bad because we can't find it anywhere in our source (we have a config 
> CMake that uses the full path to the library), and the system TBB library is 
> being picked up which is wrong (old version compiled with wrong compiler to 
> wrong C++ standard). I have verified that we have no explicit use of '-ltbb' 
> anywhere, and also that LIBRARY_PATH is not being set in the environment. Two 
> questions arise:
> 
> How can I trace what is going into the link.txt files, and whence?
> Are there any remaining mechanisms for explicit conversion from X/Y/Z/libQ.so 
> to -lQ that I'm unaware of?
> It should be noted as a matter of form that the link.txt contains a *whole* 
> lot of stuff that wasn't explicitly put there by the target_link_libraries() 
> command, and that turns out to be superfluous.
> 
> Any help in this matter would be gratefully received, because too much of 
> this is currently a black box to me and I'm lost.
> 
> Thanks,
> 
> Chris.
> -- 
> 
> 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://public.kitware.com/mailman/listinfo/cmake

-- 

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://public.kitware.com/mailman/listinfo/cmake

Reply via email to