summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorDavid Cole <david.cole@kitware.com>2010-06-21 15:47:16 (GMT)
committerDavid Cole <david.cole@kitware.com>2010-06-21 15:53:48 (GMT)
commit616462ce4588a629ffb2c814d1f63759ccafb2ad (patch)
tree75fcc38ebd5ed5af607dda49817624e7e88722b1 /Source
parent9082fc8a4738b985fbb763af0bdee69ba9a52a23 (diff)
downloadCMake-616462ce4588a629ffb2c814d1f63759ccafb2ad.zip
CMake-616462ce4588a629ffb2c814d1f63759ccafb2ad.tar.gz
CMake-616462ce4588a629ffb2c814d1f63759ccafb2ad.tar.bz2
Use full path file names to express dependencies.
This is especially important for the Visual Studio 10 generator and its quirky current working directory behavior. Also, emit more information about exactly what files are out of date when cmakeCheckStampFile returns false.
Diffstat (limited to 'Source')
-rw-r--r--Source/cmLocalVisualStudio7Generator.cxx8
-rw-r--r--Source/cmake.cxx3
2 files changed, 8 insertions, 3 deletions
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx
index 136c177..e3f195a 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -270,9 +270,11 @@ cmSourceFile* cmLocalVisualStudio7Generator::CreateVCProjBuildRule()
cmCustomCommandLines commandLines;
commandLines.push_back(commandLine);
const char* no_working_directory = 0;
- this->Makefile->AddCustomCommandToOutput(stampName.c_str(), listFiles,
- makefileIn.c_str(), commandLines,
- comment.c_str(),
+ std::string fullpathStampName = this->Convert(stampName.c_str(), FULL,
+ UNCHANGED);
+ this->Makefile->AddCustomCommandToOutput(fullpathStampName.c_str(),
+ listFiles, makefileIn.c_str(),
+ commandLines, comment.c_str(),
no_working_directory, true);
if(cmSourceFile* file = this->Makefile->GetSource(makefileIn.c_str()))
{
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index f766d47..3ec9921 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -3906,6 +3906,9 @@ static bool cmakeCheckStampFile(const char* stampName)
// build system is really out of date.
std::cout << "CMake is re-running because " << stampName
<< " is out-of-date.\n";
+ std::cout << " the file '" << dep << "'\n";
+ std::cout << " is newer than '" << stampDepends << "'\n";
+ std::cout << " result='" << result << "'\n";
return false;
}
}