Refactor Makefile/Ninja tool working directory storage
Move cmCommonTargetGenerator::WorkingDirectory to cmLocalCommonGenerator and add an access method.
This commit is contained in:
parent
9e47255604
commit
0392f72bef
@ -19,10 +19,8 @@
|
|||||||
#include "cmSourceFile.h"
|
#include "cmSourceFile.h"
|
||||||
#include "cmSystemTools.h"
|
#include "cmSystemTools.h"
|
||||||
|
|
||||||
cmCommonTargetGenerator::cmCommonTargetGenerator(
|
cmCommonTargetGenerator::cmCommonTargetGenerator(cmGeneratorTarget* gt)
|
||||||
cmOutputConverter::RelativeRoot wd, cmGeneratorTarget* gt)
|
: GeneratorTarget(gt)
|
||||||
: WorkingDirectory(wd)
|
|
||||||
, GeneratorTarget(gt)
|
|
||||||
, Makefile(gt->Makefile)
|
, Makefile(gt->Makefile)
|
||||||
, LocalGenerator(static_cast<cmLocalCommonGenerator*>(gt->LocalGenerator))
|
, LocalGenerator(static_cast<cmLocalCommonGenerator*>(gt->LocalGenerator))
|
||||||
, GlobalGenerator(static_cast<cmGlobalCommonGenerator*>(
|
, GlobalGenerator(static_cast<cmGlobalCommonGenerator*>(
|
||||||
@ -140,7 +138,8 @@ void cmCommonTargetGenerator::AddFortranFlags(std::string& flags)
|
|||||||
std::string mod_dir = this->GetFortranModuleDirectory();
|
std::string mod_dir = this->GetFortranModuleDirectory();
|
||||||
if (!mod_dir.empty()) {
|
if (!mod_dir.empty()) {
|
||||||
mod_dir =
|
mod_dir =
|
||||||
this->Convert(mod_dir, this->WorkingDirectory, cmOutputConverter::SHELL);
|
this->Convert(mod_dir, this->LocalGenerator->GetWorkingDirectory(),
|
||||||
|
cmOutputConverter::SHELL);
|
||||||
} else {
|
} else {
|
||||||
mod_dir =
|
mod_dir =
|
||||||
this->Makefile->GetSafeDefinition("CMAKE_Fortran_MODDIR_DEFAULT");
|
this->Makefile->GetSafeDefinition("CMAKE_Fortran_MODDIR_DEFAULT");
|
||||||
@ -308,7 +307,8 @@ std::string cmCommonTargetGenerator::GetManifests()
|
|||||||
for (std::vector<cmSourceFile const*>::iterator mi = manifest_srcs.begin();
|
for (std::vector<cmSourceFile const*>::iterator mi = manifest_srcs.begin();
|
||||||
mi != manifest_srcs.end(); ++mi) {
|
mi != manifest_srcs.end(); ++mi) {
|
||||||
manifests.push_back(this->Convert(
|
manifests.push_back(this->Convert(
|
||||||
(*mi)->GetFullPath(), this->WorkingDirectory, cmOutputConverter::SHELL));
|
(*mi)->GetFullPath(), this->LocalGenerator->GetWorkingDirectory(),
|
||||||
|
cmOutputConverter::SHELL));
|
||||||
}
|
}
|
||||||
|
|
||||||
return cmJoin(manifests, " ");
|
return cmJoin(manifests, " ");
|
||||||
|
@ -28,8 +28,7 @@ class cmSourceFile;
|
|||||||
class cmCommonTargetGenerator
|
class cmCommonTargetGenerator
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
cmCommonTargetGenerator(cmOutputConverter::RelativeRoot wd,
|
cmCommonTargetGenerator(cmGeneratorTarget* gt);
|
||||||
cmGeneratorTarget* gt);
|
|
||||||
virtual ~cmCommonTargetGenerator();
|
virtual ~cmCommonTargetGenerator();
|
||||||
|
|
||||||
std::string const& GetConfigName() const;
|
std::string const& GetConfigName() const;
|
||||||
@ -45,7 +44,6 @@ protected:
|
|||||||
// Helper to add flag for windows .def file.
|
// Helper to add flag for windows .def file.
|
||||||
void AddModuleDefinitionFlag(std::string& flags);
|
void AddModuleDefinitionFlag(std::string& flags);
|
||||||
|
|
||||||
cmOutputConverter::RelativeRoot WorkingDirectory;
|
|
||||||
cmGeneratorTarget* GeneratorTarget;
|
cmGeneratorTarget* GeneratorTarget;
|
||||||
cmMakefile* Makefile;
|
cmMakefile* Makefile;
|
||||||
cmLocalCommonGenerator* LocalGenerator;
|
cmLocalCommonGenerator* LocalGenerator;
|
||||||
|
@ -13,9 +13,10 @@
|
|||||||
|
|
||||||
#include "cmMakefile.h"
|
#include "cmMakefile.h"
|
||||||
|
|
||||||
cmLocalCommonGenerator::cmLocalCommonGenerator(cmGlobalGenerator* gg,
|
cmLocalCommonGenerator::cmLocalCommonGenerator(
|
||||||
cmMakefile* mf)
|
cmGlobalGenerator* gg, cmMakefile* mf, cmOutputConverter::RelativeRoot wd)
|
||||||
: cmLocalGenerator(gg, mf)
|
: cmLocalGenerator(gg, mf)
|
||||||
|
, WorkingDirectory(wd)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,12 +22,20 @@ class cmCommonTargetGenerator;
|
|||||||
class cmLocalCommonGenerator : public cmLocalGenerator
|
class cmLocalCommonGenerator : public cmLocalGenerator
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
cmLocalCommonGenerator(cmGlobalGenerator* gg, cmMakefile* mf);
|
cmLocalCommonGenerator(cmGlobalGenerator* gg, cmMakefile* mf,
|
||||||
|
cmOutputConverter::RelativeRoot wd);
|
||||||
~cmLocalCommonGenerator();
|
~cmLocalCommonGenerator();
|
||||||
|
|
||||||
std::string const& GetConfigName() { return this->ConfigName; }
|
std::string const& GetConfigName() { return this->ConfigName; }
|
||||||
|
|
||||||
|
cmOutputConverter::RelativeRoot GetWorkingDirectory() const
|
||||||
|
{
|
||||||
|
return this->WorkingDirectory;
|
||||||
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
cmOutputConverter::RelativeRoot WorkingDirectory;
|
||||||
|
|
||||||
void SetConfigName();
|
void SetConfigName();
|
||||||
std::string ConfigName;
|
std::string ConfigName;
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
cmLocalNinjaGenerator::cmLocalNinjaGenerator(cmGlobalGenerator* gg,
|
cmLocalNinjaGenerator::cmLocalNinjaGenerator(cmGlobalGenerator* gg,
|
||||||
cmMakefile* mf)
|
cmMakefile* mf)
|
||||||
: cmLocalCommonGenerator(gg, mf)
|
: cmLocalCommonGenerator(gg, mf, cmOutputConverter::HOME_OUTPUT)
|
||||||
, HomeRelativeOutputPath("")
|
, HomeRelativeOutputPath("")
|
||||||
{
|
{
|
||||||
this->TargetImplib = "$TARGET_IMPLIB";
|
this->TargetImplib = "$TARGET_IMPLIB";
|
||||||
|
@ -84,7 +84,7 @@ static std::string cmSplitExtension(std::string const& in, std::string& base)
|
|||||||
|
|
||||||
cmLocalUnixMakefileGenerator3::cmLocalUnixMakefileGenerator3(
|
cmLocalUnixMakefileGenerator3::cmLocalUnixMakefileGenerator3(
|
||||||
cmGlobalGenerator* gg, cmMakefile* mf)
|
cmGlobalGenerator* gg, cmMakefile* mf)
|
||||||
: cmLocalCommonGenerator(gg, mf)
|
: cmLocalCommonGenerator(gg, mf, cmOutputConverter::START_OUTPUT)
|
||||||
{
|
{
|
||||||
this->MakefileVariableSize = 0;
|
this->MakefileVariableSize = 0;
|
||||||
this->ColorMakefile = false;
|
this->ColorMakefile = false;
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
cmMakefileTargetGenerator::cmMakefileTargetGenerator(cmGeneratorTarget* target)
|
cmMakefileTargetGenerator::cmMakefileTargetGenerator(cmGeneratorTarget* target)
|
||||||
: cmCommonTargetGenerator(cmOutputConverter::START_OUTPUT, target)
|
: cmCommonTargetGenerator(target)
|
||||||
, OSXBundleGenerator(0)
|
, OSXBundleGenerator(0)
|
||||||
, MacOSXContentGenerator(0)
|
, MacOSXContentGenerator(0)
|
||||||
{
|
{
|
||||||
|
@ -58,7 +58,7 @@ cmNinjaTargetGenerator* cmNinjaTargetGenerator::New(cmGeneratorTarget* target)
|
|||||||
}
|
}
|
||||||
|
|
||||||
cmNinjaTargetGenerator::cmNinjaTargetGenerator(cmGeneratorTarget* target)
|
cmNinjaTargetGenerator::cmNinjaTargetGenerator(cmGeneratorTarget* target)
|
||||||
: cmCommonTargetGenerator(cmOutputConverter::HOME_OUTPUT, target)
|
: cmCommonTargetGenerator(target)
|
||||||
, MacOSXContentGenerator(0)
|
, MacOSXContentGenerator(0)
|
||||||
, OSXBundleGenerator(0)
|
, OSXBundleGenerator(0)
|
||||||
, MacContentFolders()
|
, MacContentFolders()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user