ENH: Moved GetTargetDirectory method up to cmLocalGenerator. This provides a common interface to something that was implemented in most local generators anyway.
This commit is contained in:
parent
2246e0336d
commit
ea874415d9
|
@ -2772,6 +2772,18 @@ std::string cmLocalGenerator::EscapeForShell(const char* str, bool makeVars,
|
||||||
}
|
}
|
||||||
return std::string(&arg[0]);
|
return std::string(&arg[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
std::string
|
||||||
|
cmLocalGenerator::GetTargetDirectory(cmTarget const&) const
|
||||||
|
{
|
||||||
|
cmSystemTools::Error("GetTargetDirectory"
|
||||||
|
" called on cmLocalGenerator");
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
void
|
void
|
||||||
cmLocalGenerator::GetTargetObjectFileDirectories(cmTarget* ,
|
cmLocalGenerator::GetTargetObjectFileDirectories(cmTarget* ,
|
||||||
std::vector<std::string>&
|
std::vector<std::string>&
|
||||||
|
|
|
@ -236,6 +236,12 @@ public:
|
||||||
std::string ConvertToRelativePath(const std::vector<std::string>& local,
|
std::string ConvertToRelativePath(const std::vector<std::string>& local,
|
||||||
const char* remote);
|
const char* remote);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the relative path from the generator output directory to a
|
||||||
|
* per-target support directory.
|
||||||
|
*/
|
||||||
|
virtual std::string GetTargetDirectory(cmTarget const& target) const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
/** Construct a comment for a custom command. */
|
/** Construct a comment for a custom command. */
|
||||||
|
|
|
@ -1897,7 +1897,8 @@ cmLocalUnixMakefileGenerator3::ConvertToQuotedOutputPath(const char* p)
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
std::string
|
std::string
|
||||||
cmLocalUnixMakefileGenerator3::GetTargetDirectory(cmTarget& target)
|
cmLocalUnixMakefileGenerator3
|
||||||
|
::GetTargetDirectory(cmTarget const& target) const
|
||||||
{
|
{
|
||||||
std::string dir = cmake::GetCMakeFilesDirectoryPostSlash();
|
std::string dir = cmake::GetCMakeFilesDirectoryPostSlash();
|
||||||
dir += target.GetName();
|
dir += target.GetName();
|
||||||
|
|
|
@ -188,7 +188,7 @@ public:
|
||||||
void AppendEcho(std::vector<std::string>& commands, const char* text,
|
void AppendEcho(std::vector<std::string>& commands, const char* text,
|
||||||
EchoColor color = EchoNormal);
|
EchoColor color = EchoNormal);
|
||||||
|
|
||||||
static std::string GetTargetDirectory(cmTarget& target);
|
virtual std::string GetTargetDirectory(cmTarget const& target) const;
|
||||||
|
|
||||||
// create a command that cds to the start dir then runs the commands
|
// create a command that cds to the start dir then runs the commands
|
||||||
void CreateCDCommand(std::vector<std::string>& commands,
|
void CreateCDCommand(std::vector<std::string>& commands,
|
||||||
|
|
|
@ -1567,6 +1567,13 @@ void cmLocalVisualStudio6Generator
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string
|
||||||
|
cmLocalVisualStudio6Generator
|
||||||
|
::GetTargetDirectory(cmTarget const&) const
|
||||||
|
{
|
||||||
|
// No per-target directory for this generator (yet).
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
void cmLocalVisualStudio6Generator
|
void cmLocalVisualStudio6Generator
|
||||||
::GetTargetObjectFileDirectories(cmTarget* ,
|
::GetTargetObjectFileDirectories(cmTarget* ,
|
||||||
|
|
|
@ -62,6 +62,7 @@ public:
|
||||||
{
|
{
|
||||||
return this->CreatedProjectNames;
|
return this->CreatedProjectNames;
|
||||||
}
|
}
|
||||||
|
virtual std::string GetTargetDirectory(cmTarget const& target) const;
|
||||||
void GetTargetObjectFileDirectories(cmTarget* target,
|
void GetTargetObjectFileDirectories(cmTarget* target,
|
||||||
std::vector<std::string>&
|
std::vector<std::string>&
|
||||||
dirs);
|
dirs);
|
||||||
|
|
|
@ -1619,7 +1619,7 @@ void cmLocalVisualStudio7Generator::ConfigureFinalPass()
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
std::string cmLocalVisualStudio7Generator
|
std::string cmLocalVisualStudio7Generator
|
||||||
::GetTargetDirectory(cmTarget& target)
|
::GetTargetDirectory(cmTarget const& target) const
|
||||||
{
|
{
|
||||||
std::string dir;
|
std::string dir;
|
||||||
dir += target.GetName();
|
dir += target.GetName();
|
||||||
|
|
|
@ -113,7 +113,7 @@ private:
|
||||||
void WriteGroup(const cmSourceGroup *sg,
|
void WriteGroup(const cmSourceGroup *sg,
|
||||||
cmTarget target, std::ostream &fout,
|
cmTarget target, std::ostream &fout,
|
||||||
const char *libName, std::vector<std::string> *configs);
|
const char *libName, std::vector<std::string> *configs);
|
||||||
virtual std::string GetTargetDirectory(cmTarget&);
|
virtual std::string GetTargetDirectory(cmTarget const&) const;
|
||||||
|
|
||||||
cmVS7FlagTable const* ExtraFlagTable;
|
cmVS7FlagTable const* ExtraFlagTable;
|
||||||
std::string ModuleDefinitionFile;
|
std::string ModuleDefinitionFile;
|
||||||
|
|
|
@ -13,6 +13,13 @@ cmLocalXCodeGenerator::~cmLocalXCodeGenerator()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string
|
||||||
|
cmLocalXCodeGenerator::GetTargetDirectory(cmTarget const&) const
|
||||||
|
{
|
||||||
|
// No per-target directory for this generator (yet).
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
void cmLocalXCodeGenerator::
|
void cmLocalXCodeGenerator::
|
||||||
GetTargetObjectFileDirectories(cmTarget* target,
|
GetTargetObjectFileDirectories(cmTarget* target,
|
||||||
std::vector<std::string>&
|
std::vector<std::string>&
|
||||||
|
|
|
@ -35,6 +35,7 @@ public:
|
||||||
void GetTargetObjectFileDirectories(cmTarget* target,
|
void GetTargetObjectFileDirectories(cmTarget* target,
|
||||||
std::vector<std::string>&
|
std::vector<std::string>&
|
||||||
dirs);
|
dirs);
|
||||||
|
virtual std::string GetTargetDirectory(cmTarget const& target) const;
|
||||||
private:
|
private:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue