target_link_libraries() reports error if its only argument is not a target.
In CMake 2.8.2 and lower the target_link_libraries() command silently ignored if it was called with only one argument, and this argument wasn’t a valid target. In CMake 2.8.3 and above it reports an error in this case.
This policy was introduced in CMake version 2.8.3. CMake version 3.6.2 warns when the policy is not set and uses OLD behavior. Use the cmake_policy command to set it to OLD or NEW explicitly.
OLD behavior of a policy is
deprecated by definition
and may be removed in a future version of CMake.