[CMake] Policy to forbid linking with non-cmake-targets

Alan W. Irwin irwin at beluga.phys.uvic.ca
Mon Dec 12 18:50:10 EST 2016


On 2016-12-12 13:10+0100 Patrick Boettcher wrote:

> Hi list,
>
> is there a policy which can be enabled to forbid calling
>
>  target_link_libraries(foo bar)
>
> where bar is _not_ a known cmake target?
>
> Right now, if 'bar' is not a cmake-target cmake tries to link with
> -lbar (on linux). Can I inhibit this behavior in any way?
>
> I'd prefer cmake telling me that this target is unknown rather than
> receiving a link error at the end of the build-process.

Hi Patrick:

Try

if(NOT TARGET bar)

to check for this issue.  And if it is an issue that occurs for many
different targets that you build, instead of deploying such checks
again and again, you could implement and use instead a function that
checks for the above condition before calling target_link_libraries.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________


More information about the CMake mailing list