diff options
author | Brad King <brad.king@kitware.com> | 2012-02-06 14:40:42 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2012-02-06 14:40:42 (GMT) |
commit | c8ef6430e09c063b74708ef0cd28f533c15fd8bd (patch) | |
tree | d37c630801b3ba3abbc687b12c55315ee89fda11 /Source/cmLocalUnixMakefileGenerator3.cxx | |
parent | 8704525f201452929a2bec96fb04387c97ad8a79 (diff) | |
download | CMake-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.cxx | 15 |
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) { |