Commit 6db7e6d2 authored by Stephen Kelly's avatar Stephen Kelly
Browse files

add_dependencies: Disallow use with INTERFACE_LIBRARY.

parent 0bb3ca28
......@@ -33,6 +33,15 @@ bool cmAddDependenciesCommand
}
if(cmTarget* target = this->Makefile->FindTargetToUse(target_name.c_str()))
{
if (target->GetType() == cmTarget::INTERFACE_LIBRARY)
{
cmOStringStream e;
e << "Cannot add target-level dependencies to INTERFACE library "
"target \"" << target_name << "\".\n";
this->SetError(e.str().c_str());
return false;
}
std::vector<std::string>::const_iterator s = args.begin();
++s; // skip over target_name
for (; s != args.end(); ++s)
......
......@@ -5,3 +5,4 @@ run_cmake(target_commands)
run_cmake(no_shared_libs)
run_cmake(whitelist)
run_cmake(genex_link)
run_cmake(add_dependencies)
CMake Error at add_dependencies.cmake:4 \(add_dependencies\):
add_dependencies Cannot add target-level dependencies to INTERFACE library
target "iface".
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)
add_library(foo empty.cpp)
add_library(iface INTERFACE)
add_dependencies(iface foo)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment