summaryrefslogtreecommitdiffstats
path: root/Source/cmIncludeDirectoryCommand.cxx
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2012-09-18 11:57:07 (GMT)
committerBrad King <brad.king@kitware.com>2012-09-28 12:50:10 (GMT)
commit08cb4fa4c0378468fc2757666701617f6fe8270e (patch)
treeac312dd92d2e60419b9d02836b03ac2ffcfd73c4 /Source/cmIncludeDirectoryCommand.cxx
parent0ef091d98677253c340d4045413057c50566a528 (diff)
downloadCMake-08cb4fa4c0378468fc2757666701617f6fe8270e.zip
CMake-08cb4fa4c0378468fc2757666701617f6fe8270e.tar.gz
CMake-08cb4fa4c0378468fc2757666701617f6fe8270e.tar.bz2
Process generator expressions in the INCLUDE_DIRECTORIES property.
This use of generator expressions, like all others to come which operate on target properties, must initalize the dag checker.
Diffstat (limited to 'Source/cmIncludeDirectoryCommand.cxx')
-rw-r--r--Source/cmIncludeDirectoryCommand.cxx7
1 files changed, 6 insertions, 1 deletions
diff --git a/Source/cmIncludeDirectoryCommand.cxx b/Source/cmIncludeDirectoryCommand.cxx
index 11c5f4e..ba81849 100644
--- a/Source/cmIncludeDirectoryCommand.cxx
+++ b/Source/cmIncludeDirectoryCommand.cxx
@@ -55,6 +55,11 @@ bool cmIncludeDirectoryCommand
return true;
}
+static bool StartsWithGeneratorExpression(const std::string &input)
+{
+ return input[0] == '$' && input[1] == '<';
+}
+
// do a lot of cleanup on the arguments because this is one place where folks
// sometimes take the output of a program and pass it directly into this
// command not thinking that a single argument could be filled with spaces
@@ -105,7 +110,7 @@ void cmIncludeDirectoryCommand::AddDirectory(const char *i,
cmSystemTools::ConvertToUnixSlashes(ret);
if(!cmSystemTools::FileIsFullPath(ret.c_str()))
{
- if(ret[0] != '$' && ret[1] != '<')
+ if(!StartsWithGeneratorExpression(ret))
{
std::string tmp = this->Makefile->GetStartDirectory();
tmp += "/";