summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalUnixMakefileGenerator3.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2012-02-06 14:40:42 (GMT)
committerBrad King <brad.king@kitware.com>2012-02-06 14:40:42 (GMT)
commitc8ef6430e09c063b74708ef0cd28f533c15fd8bd (patch)
treed37c630801b3ba3abbc687b12c55315ee89fda11 /Source/cmLocalUnixMakefileGenerator3.cxx
parent8704525f201452929a2bec96fb04387c97ad8a79 (diff)
downloadCMake-c8ef6430e09c063b74708ef0cd28f533c15fd8bd.zip
CMake-c8ef6430e09c063b74708ef0cd28f533c15fd8bd.tar.gz
CMake-c8ef6430e09c063b74708ef0cd28f533c15fd8bd.tar.bz2
Allow directory names containing '=' and warn if necessary (#12934)
The approach taken by commit 8704525f (Reject directory names containing '=', 2011-01-14) was perhaps too heavy-handed for avoiding the obscure cases when '=' in the path fails due to limitations of Make syntax. Only two CMake tests: LinkDirectory OutOfSource fail when the path contains '=' and they cover obscure cases. Instead of rejecting such paths outright just warn when the problem may occur.
Diffstat (limited to 'Source/cmLocalUnixMakefileGenerator3.cxx')
-rw-r--r--Source/cmLocalUnixMakefileGenerator3.cxx15
1 files changed, 15 insertions, 0 deletions
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index ff48009..b10e959 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -561,6 +561,21 @@ cmLocalUnixMakefileGenerator3
space = " ";
}
+ // Warn about paths not supported by Make tools.
+ std::string::size_type pos = tgt.find_first_of("=");
+ if(pos != std::string::npos)
+ {
+ cmOStringStream m;
+ m <<
+ "Make rule for\n"
+ " " << tgt << "\n"
+ "has '=' on left hand side. "
+ "The make tool may not support this.";
+ cmListFileBacktrace bt;
+ this->GlobalGenerator->GetCMakeInstance()
+ ->IssueMessage(cmake::WARNING, m.str(), bt);
+ }
+
// Mark the rule as symbolic if requested.
if(symbolic)
{