add_library/add_executable: allow local alias to imported targets

Fixes: #20641
This commit is contained in:
Marc Chevrier
2020-05-28 13:51:22 +02:00
parent 254f2b9058
commit 056489d567
27 changed files with 310 additions and 65 deletions

View File

@@ -219,14 +219,9 @@ bool cmAddLibraryCommand(std::vector<std::string> const& args,
"\" is not a library."));
return false;
}
if (aliasedTarget->IsImported() &&
!aliasedTarget->IsImportedGloballyVisible()) {
status.SetError(cmStrCat("cannot create ALIAS target \"", libName,
"\" because target \"", aliasedName,
"\" is imported but not globally visible."));
return false;
}
mf.AddAlias(libName, aliasedName);
mf.AddAlias(libName, aliasedName,
!aliasedTarget->IsImported() ||
aliasedTarget->IsImportedGloballyVisible());
return true;
}