| 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. |