CMP0008 | |
------- | |
Libraries linked by full-path must have a valid library file name. | |
In CMake 2.4 and below it is possible to write code like | |
:: | |
target_link_libraries(myexe /full/path/to/somelib) | |
where "somelib" is supposed to be a valid library file name such as | |
"libsomelib.a" or "somelib.lib". For Makefile generators this | |
produces an error at build time because the dependency on the full | |
path cannot be found. For VS IDE and Xcode generators this used to | |
work by accident because CMake would always split off the library | |
directory and ask the linker to search for the library by name | |
(-lsomelib or somelib.lib). Despite the failure with Makefiles, some | |
projects have code like this and build only with VS and/or Xcode. | |
This version of CMake prefers to pass the full path directly to the | |
native build tool, which will fail in this case because it does not | |
name a valid library file. | |
This policy determines what to do with full paths that do not appear | |
to name a valid library file. The OLD behavior for this policy is to | |
split the library name from the path and ask the linker to search for | |
it. The NEW behavior for this policy is to trust the given path and | |
pass it directly to the native build tool unchanged. | |
This policy was introduced in CMake version 2.6.1. CMake version | |
|release| warns when the policy is not set and uses OLD behavior. Use | |
the cmake_policy command to set it to OLD or NEW explicitly. | |
.. include:: DEPRECATED.txt |