summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2008-05-10 22:39:06 (GMT)
committerBrad King <brad.king@kitware.com>2008-05-10 22:39:06 (GMT)
commit071725a1c1c419f8d00770364e6345ed300fa5a1 (patch)
tree6b8d754caf846fc996bf71287d5f3780acdc5a9f
parent09dd298f6319992db30755e759ef3c3a01a2bf1a (diff)
downloadCMake-071725a1c1c419f8d00770364e6345ed300fa5a1.zip
CMake-071725a1c1c419f8d00770364e6345ed300fa5a1.tar.gz
CMake-071725a1c1c419f8d00770364e6345ed300fa5a1.tar.bz2
BUG: Fix generation of some paths into .cmake files in the build tree to escape strings for the CMake language. This fix allows users to put double quotes in the SOVERSION of a shared library.
-rw-r--r--Source/cmLocalUnixMakefileGenerator3.cxx4
-rw-r--r--Source/cmMakefileTargetGenerator.cxx6
2 files changed, 6 insertions, 4 deletions
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index a717bef..50921be 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -1110,8 +1110,8 @@ cmLocalUnixMakefileGenerator3
for(std::vector<std::string>::const_iterator f = files.begin();
f != files.end(); ++f)
{
- fout << "\"" << this->Convert(f->c_str(),START_OUTPUT,UNCHANGED)
- << "\"\n";
+ std::string fc = this->Convert(f->c_str(),START_OUTPUT,UNCHANGED);
+ fout << " " << this->EscapeForCMake(fc.c_str()) << "\n";
}
fout << ")\n";
commands.push_back(remove);
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx
index 6cb5fd0..3f4b866 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -933,8 +933,10 @@ void cmMakefileTargetGenerator::WriteTargetDependRules()
this->MultipleOutputPairs.begin();
pi != this->MultipleOutputPairs.end(); ++pi)
{
- *this->InfoFileStream << " \"" << pi->first << "\" \""
- << pi->second << "\"\n";
+ *this->InfoFileStream
+ << " " << this->LocalGenerator->EscapeForCMake(pi->first.c_str())
+ << " " << this->LocalGenerator->EscapeForCMake(pi->second.c_str())
+ << "\n";
}
*this->InfoFileStream << " )\n\n";
}