[cmake-commits] hoffman committed
cmMakefileExecutableTargetGenerator.cxx 1.36 1.37
cmMakefileLibraryTargetGenerator.cxx 1.47 1.48
cmake-commits at cmake.org
cmake-commits at cmake.org
Thu Oct 18 09:38:36 EDT 2007
Update of /cvsroot/CMake/CMake/Source
In directory public:/mounts/ram/cvs-serv32595
Modified Files:
cmMakefileExecutableTargetGenerator.cxx
cmMakefileLibraryTargetGenerator.cxx
Log Message:
ENH: do not remove executables and dll's before linking them so that incremental links work, incremental links are still broken for vs 2005 and greater because of the manifest stuff
Index: cmMakefileLibraryTargetGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmMakefileLibraryTargetGenerator.cxx,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -d -r1.47 -r1.48
--- cmMakefileLibraryTargetGenerator.cxx 10 Oct 2007 15:06:14 -0000 1.47
+++ cmMakefileLibraryTargetGenerator.cxx 18 Oct 2007 13:38:34 -0000 1.48
@@ -643,16 +643,20 @@
}
#endif
- // Add a command to remove any existing files for this library.
std::vector<std::string> commands1;
- this->LocalGenerator->AppendCleanCommand(commands1, libCleanFiles,
- *this->Target, "target");
- this->LocalGenerator->CreateCDCommand
- (commands1,
- this->Makefile->GetStartOutputDirectory(),
- this->Makefile->GetHomeOutputDirectory());
- commands.insert(commands.end(), commands1.begin(), commands1.end());
- commands1.clear();
+ // Add a command to remove any existing files for this library.
+ // for static libs only
+ if(this->Target->GetType() == cmTarget::STATIC_LIBRARY)
+ {
+ this->LocalGenerator->AppendCleanCommand(commands1, libCleanFiles,
+ *this->Target, "target");
+ this->LocalGenerator->CreateCDCommand
+ (commands1,
+ this->Makefile->GetStartOutputDirectory(),
+ this->Makefile->GetHomeOutputDirectory());
+ commands.insert(commands.end(), commands1.begin(), commands1.end());
+ commands1.clear();
+ }
// Add the pre-build and pre-link rules building but not when relinking.
if(!relink)
Index: cmMakefileExecutableTargetGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmMakefileExecutableTargetGenerator.cxx,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -d -r1.36 -r1.37
--- cmMakefileExecutableTargetGenerator.cxx 2 Aug 2007 13:37:10 -0000 1.36
+++ cmMakefileExecutableTargetGenerator.cxx 18 Oct 2007 13:38:34 -0000 1.37
@@ -329,18 +329,6 @@
cmLocalGenerator::UNCHANGED));
}
- // Add a command to remove any existing files for this executable.
- std::vector<std::string> commands1;
- this->LocalGenerator->AppendCleanCommand(commands1, exeCleanFiles,
- *this->Target, "target");
- this->LocalGenerator->CreateCDCommand
- (commands1,
- this->Makefile->GetStartOutputDirectory(),
- this->Makefile->GetHomeOutputDirectory());
-
- commands.insert(commands.end(), commands1.begin(), commands1.end());
- commands1.clear();
-
// Add the pre-build and pre-link rules building but not when relinking.
if(!relink)
{
@@ -356,6 +344,7 @@
linkRuleVar += "_LINK_EXECUTABLE";
std::string linkRule =
this->Makefile->GetRequiredDefinition(linkRuleVar.c_str());
+ std::vector<std::string> commands1;
cmSystemTools::ExpandListArgument(linkRule, commands1);
if(this->Target->GetPropertyAsBool("ENABLE_EXPORTS"))
{
More information about the Cmake-commits
mailing list