Quellcode durchsuchen

ENH: Cleanup per-config target install generation

This cleans up cmInstallTargetGenerator's code that computes the build
tree location of a target under each configuration.
Brad King vor 16 Jahren
Ursprung
Commit
789eaf157c
2 geänderte Dateien mit 13 neuen und 19 gelöschten Zeilen
  1. 13 18
      Source/cmInstallTargetGenerator.cxx
  2. 0 1
      Source/cmInstallTargetGenerator.h

+ 13 - 18
Source/cmInstallTargetGenerator.cxx

@@ -58,20 +58,6 @@ void cmInstallTargetGenerator::GenerateScript(std::ostream& os)
     cmSystemTools::Message(msg.str().c_str(), "Warning");
     }
 
-  // Compute the build tree directory from which to copy the target.
-  std::string& fromDir = this->FromDir;
-  if(this->Target->NeedRelinkBeforeInstall())
-    {
-    fromDir = this->Target->GetMakefile()->GetStartOutputDirectory();
-    fromDir += cmake::GetCMakeFilesDirectory();
-    fromDir += "/CMakeRelink.dir/";
-    }
-  else
-    {
-    fromDir = this->Target->GetDirectory(0, this->ImportLibrary);
-    fromDir += "/";
-    }
-
   // Perform the main install script generation.
   this->cmInstallGenerator::GenerateScript(os);
 }
@@ -81,10 +67,19 @@ void cmInstallTargetGenerator::GenerateScriptForConfig(std::ostream& os,
                                                        const char* config,
                                                        Indent const& indent)
 {
-  // Compute the per-configuration directory containing the files.
-  std::string fromDirConfig = this->FromDir;
-  this->Target->GetMakefile()->GetLocalGenerator()->GetGlobalGenerator()
-    ->AppendDirectoryForConfig("", config, "/", fromDirConfig);
+  // Compute the build tree directory from which to copy the target.
+  std::string fromDirConfig;
+  if(this->Target->NeedRelinkBeforeInstall())
+    {
+    fromDirConfig = this->Target->GetMakefile()->GetStartOutputDirectory();
+    fromDirConfig += cmake::GetCMakeFilesDirectory();
+    fromDirConfig += "/CMakeRelink.dir/";
+    }
+  else
+    {
+    fromDirConfig = this->Target->GetDirectory(config, this->ImportLibrary);
+    fromDirConfig += "/";
+    }
 
   // Compute the full path to the main installed file for this target.
   NameType nameType = this->ImportLibrary? NameImplib : NameNormal;

+ 0 - 1
Source/cmInstallTargetGenerator.h

@@ -90,7 +90,6 @@ protected:
   std::string FilePermissions;
   bool Optional;
   NamelinkModeType NamelinkMode;
-  std::string FromDir;
 };
 
 #endif