diff options
author | Brad King <brad.king@kitware.com> | 2007-08-07 17:57:13 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2007-08-07 17:57:13 (GMT) |
commit | d9267920664fda123cc91894d78b06b43bdff44f (patch) | |
tree | 140e705964a74064e3e5a8e89e07cb25913a1a03 /Source/cmMakefileTargetGenerator.cxx | |
parent | 91384d7df408d988ba53f03636ed53d28b744e32 (diff) | |
download | CMake-d9267920664fda123cc91894d78b06b43bdff44f.zip CMake-d9267920664fda123cc91894d78b06b43bdff44f.tar.gz CMake-d9267920664fda123cc91894d78b06b43bdff44f.tar.bz2 |
ENH: Replaced dependency integrity map with an explicit map from object file to source file for each language in each target. This simplifies creation of implicit dependency scanning rules and allows more than one object file in a target to start dependency scanning with the same source file.
Diffstat (limited to 'Source/cmMakefileTargetGenerator.cxx')
-rw-r--r-- | Source/cmMakefileTargetGenerator.cxx | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx index 2eedfbb..2417b4a 100644 --- a/Source/cmMakefileTargetGenerator.cxx +++ b/Source/cmMakefileTargetGenerator.cxx @@ -341,8 +341,18 @@ void cmMakefileTargetGenerator::WriteObjectRuleFiles(cmSourceFile& source) this->WriteObjectBuildFile(obj, lang, source, depends); // The object file should be checked for dependency integrity. + std::string objFullPath = this->Makefile->GetCurrentOutputDirectory(); + objFullPath += "/"; + objFullPath += obj; + objFullPath = + this->Convert(objFullPath.c_str(), cmLocalGenerator::FULL); + std::string srcFullPath = + this->Convert(source.GetFullPath().c_str(), cmLocalGenerator::FULL); this->LocalGenerator-> - CheckDependFiles[this->Target->GetName()][lang].insert(&source); + AddImplicitDepends(*this->Target, lang, + objFullPath.c_str(), + srcFullPath.c_str()); + // add this to the list of objects for this local generator if(cmSystemTools::FileIsFullPath(objNoTargetDir.c_str())) { |