mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-08 07:10:12 -05:00
Make sure generator expressions can be used with target_include_directories.
Handle the case that a generator expression is used before treating a non-target as an error.
This commit is contained in:
@@ -65,6 +65,14 @@ bool cmTargetPropCommandBase
|
||||
return true;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
static bool isGeneratorExpression(const std::string &lib)
|
||||
{
|
||||
const std::string::size_type openpos = lib.find("$<");
|
||||
return (openpos != std::string::npos)
|
||||
&& (lib.find(">", openpos) != std::string::npos);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool cmTargetPropCommandBase
|
||||
::ProcessContentArgs(std::vector<std::string> const& args,
|
||||
@@ -105,6 +113,10 @@ bool cmTargetPropCommandBase
|
||||
content += sep + "$<TARGET_PROPERTY:" + args[i]
|
||||
+ ",INTERFACE_" + this->Property + ">";
|
||||
}
|
||||
else if(isGeneratorExpression(args[i]))
|
||||
{
|
||||
content += sep + args[i];
|
||||
}
|
||||
else if (!this->HandleNonTargetArg(content, sep, args[i], args[0]))
|
||||
{
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user