[CMake] /path/to/libpng.so automatic conversion to -lpng ?
René J. V. Bertin
rjvbertin at gmail.com
Wed Jul 12 20:04:43 EDT 2017
Andreas Naumann wrote:
> cmake instrospects your compiler and asks for system directories.
Just stumbled across this documentation tidbit:
>>>>>>>
CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES
--------------------------------------
Implicit linker search path detected for language ``<LANG>``.
Compilers typically pass directories containing language runtime
libraries and default library search paths when they invoke a linker.
These paths are implicit linker search directories for the compiler's
language. CMake automatically detects these directories for each
language and reports the results in this variable.
When a library in one of these directories is given by full path to
:command:`target_link_libraries` CMake will generate the ``-l<name>`` form on
link lines to ensure the linker searches its implicit directories for the
library. Note that some toolchains read implicit directories from an
environment variable such as ``LIBRARY_PATH`` so keep its value consistent
when operating in a given build tree.
<<<<<<<
Note the
> CMake will generate the ``-l<name>`` form on link lines to ensure the linker
> searches its implicit directories
What's the point in doing that when a full path is given? Full path means
searching isn't required. Full path (probably) means that the operator wants to
ensure that a specific library is linked. Full path thus means that searching
can even have counterproductive effects.
R.
More information about the CMake
mailing list