ENH: First step of install script generator cleanup. Each configuration to be installed is now separately handled instead of using variables to store per-configuration names. For targets the component and configuration install-time tests are now done in the install script instead of in the FILE(INSTALL) command. This cleans things up like not trying to strip a file that was optionally not installed. It also simplifies the code for install_name adjustment on OSX. This commit is surrounded by the tags CMake-InstallGeneratorCleanup1-pre and CMake-InstallGeneratorCleanup1-post.

This commit is contained in:
Brad King
2007-06-28 16:11:18 -04:00
parent 33e9becd6f
commit fdf7b203af
7 changed files with 264 additions and 259 deletions

View File

@@ -44,19 +44,15 @@ public:
protected:
virtual void GenerateScript(std::ostream& os);
void PrepareScriptReference(std::ostream& os, cmTarget* target,
const char* place, bool useConfigDir,
bool implib, bool useSOName);
std::string GetScriptReference(cmTarget* target, const char* place,
bool implib, bool useSOName);
void AddInstallNamePatchRule(std::ostream& os, const char* destination);
void AddStripRule(std::ostream& os,
cmTarget::TargetType type,
const std::string& quotedFullDestinationFilename,
bool optional);
void AddRanlibRule(std::ostream& os,
cmTarget::TargetType type,
const std::string& quotedFullDestinationFilename);
void GenerateScriptForConfig(std::ostream& os,
const char* fromDir,
const char* config);
void AddInstallNamePatchRule(std::ostream& os, const char* config,
const std::string& toFullPath);
void AddStripRule(std::ostream& os, cmTarget::TargetType type,
const std::string& toFullPath);
void AddRanlibRule(std::ostream& os, cmTarget::TargetType type,
const std::string& toFullPath);
cmTarget* Target;
bool ImportLibrary;