cmLocalGenerator: Add current binary directory accessor.
This commit is contained in:
parent
12cb3bdce4
commit
bbef3c2da8
|
@ -160,7 +160,7 @@ bool cmDependsFortran::Finalize(std::ostream& makeDepends,
|
|||
if (mod_dir.empty())
|
||||
{
|
||||
mod_dir =
|
||||
this->LocalGenerator->GetMakefile()->GetCurrentBinaryDirectory();
|
||||
this->LocalGenerator->GetCurrentBinaryDirectory();
|
||||
}
|
||||
|
||||
// Actually write dependencies to the streams.
|
||||
|
|
|
@ -76,8 +76,7 @@ void cmExtraCodeBlocksGenerator::Generate()
|
|||
void cmExtraCodeBlocksGenerator::CreateProjectFile(
|
||||
const std::vector<cmLocalGenerator*>& lgs)
|
||||
{
|
||||
const cmMakefile* mf=lgs[0]->GetMakefile();
|
||||
std::string outputDir=mf->GetCurrentBinaryDirectory();
|
||||
std::string outputDir=lgs[0]->GetCurrentBinaryDirectory();
|
||||
std::string projectName=lgs[0]->GetProjectName();
|
||||
|
||||
std::string filename=outputDir+"/";
|
||||
|
@ -331,7 +330,7 @@ void cmExtraCodeBlocksGenerator
|
|||
{
|
||||
// Only add the global targets from CMAKE_BINARY_DIR,
|
||||
// not from the subdirs
|
||||
if (strcmp(makefile->GetCurrentBinaryDirectory(),
|
||||
if (strcmp((*lg)->GetCurrentBinaryDirectory(),
|
||||
(*lg)->GetBinaryDirectory())==0)
|
||||
{
|
||||
this->AppendTarget(fout, ti->first, 0,
|
||||
|
@ -524,11 +523,10 @@ std::string cmExtraCodeBlocksGenerator::CreateDummyTargetFile(
|
|||
cmLocalGenerator* lg,
|
||||
cmTarget* target) const
|
||||
{
|
||||
cmMakefile *mf = lg->GetMakefile();
|
||||
// this file doesn't seem to be used by C::B in custom makefile mode,
|
||||
// but we generate a unique file for each OBJECT library so in case
|
||||
// C::B uses it in some way, the targets don't interfere with each other.
|
||||
std::string filename = mf->GetCurrentBinaryDirectory();
|
||||
std::string filename = lg->GetCurrentBinaryDirectory();
|
||||
filename += "/";
|
||||
filename += lg->GetTargetDirectory(*target);
|
||||
filename += "/";
|
||||
|
@ -555,14 +553,14 @@ void cmExtraCodeBlocksGenerator::AppendTarget(cmGeneratedFileStream& fout,
|
|||
const char* compiler)
|
||||
{
|
||||
cmMakefile const* makefile = lg->GetMakefile();
|
||||
std::string makefileName = makefile->GetCurrentBinaryDirectory();
|
||||
std::string makefileName = lg->GetCurrentBinaryDirectory();
|
||||
makefileName += "/Makefile";
|
||||
|
||||
fout<<" <Target title=\"" << targetName << "\">\n";
|
||||
if (target!=0)
|
||||
{
|
||||
int cbTargetType = this->GetCBTargetType(target);
|
||||
std::string workingDir = makefile->GetCurrentBinaryDirectory();
|
||||
std::string workingDir = lg->GetCurrentBinaryDirectory();
|
||||
if ( target->GetType()==cmTarget::EXECUTABLE)
|
||||
{
|
||||
// Determine the directory where the executable target is created, and
|
||||
|
@ -659,7 +657,7 @@ void cmExtraCodeBlocksGenerator::AppendTarget(cmGeneratedFileStream& fout,
|
|||
else // e.g. all and the GLOBAL and UTILITY targets
|
||||
{
|
||||
fout<<" <Option working_dir=\""
|
||||
<< makefile->GetCurrentBinaryDirectory() << "\" />\n"
|
||||
<< lg->GetCurrentBinaryDirectory() << "\" />\n"
|
||||
<<" <Option type=\"" << 4 << "\" />\n";
|
||||
}
|
||||
|
||||
|
|
|
@ -68,15 +68,15 @@ void cmExtraCodeLiteGenerator::Generate()
|
|||
const cmMakefile* mf =it->second[0]->GetMakefile();
|
||||
this->ConfigName = GetConfigurationName( mf );
|
||||
|
||||
if (strcmp(mf->GetCurrentBinaryDirectory(),
|
||||
if (strcmp(it->second[0]->GetCurrentBinaryDirectory(),
|
||||
it->second[0]->GetBinaryDirectory()) == 0)
|
||||
{
|
||||
workspaceOutputDir = mf->GetCurrentBinaryDirectory();
|
||||
workspaceOutputDir = it->second[0]->GetCurrentBinaryDirectory();
|
||||
workspaceProjectName = it->second[0]->GetProjectName();
|
||||
workspaceSourcePath = it->second[0]->GetSourceDirectory();
|
||||
workspaceFileName = workspaceOutputDir+"/";
|
||||
workspaceFileName += workspaceProjectName + ".workspace";
|
||||
this->WorkspacePath = mf->GetCurrentBinaryDirectory();;
|
||||
this->WorkspacePath = it->second[0]->GetCurrentBinaryDirectory();;
|
||||
|
||||
fout.Open(workspaceFileName.c_str(), false, false);
|
||||
fout << "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
|
||||
|
@ -91,8 +91,7 @@ void cmExtraCodeLiteGenerator::Generate()
|
|||
++it)
|
||||
{
|
||||
// retrive project information
|
||||
const cmMakefile* mf = it->second[0]->GetMakefile();
|
||||
std::string outputDir = mf->GetCurrentBinaryDirectory();
|
||||
std::string outputDir = it->second[0]->GetCurrentBinaryDirectory();
|
||||
std::string projectName = it->second[0]->GetProjectName();
|
||||
std::string filename = outputDir + "/" + projectName + ".project";
|
||||
|
||||
|
@ -121,8 +120,7 @@ void cmExtraCodeLiteGenerator::Generate()
|
|||
void cmExtraCodeLiteGenerator::CreateProjectFile(
|
||||
const std::vector<cmLocalGenerator*>& lgs)
|
||||
{
|
||||
const cmMakefile* mf = lgs[0]->GetMakefile();
|
||||
std::string outputDir = mf->GetCurrentBinaryDirectory();
|
||||
std::string outputDir = lgs[0]->GetCurrentBinaryDirectory();
|
||||
std::string projectName = lgs[0]->GetProjectName();
|
||||
std::string filename = outputDir + "/";
|
||||
|
||||
|
|
|
@ -208,7 +208,7 @@ void cmExtraEclipseCDT4Generator::AddEnvVar(cmGeneratedFileStream& fout,
|
|||
|
||||
std::string cacheEntryName = "CMAKE_ECLIPSE_ENVVAR_";
|
||||
cacheEntryName += envVar;
|
||||
const char* cacheValue = mf->GetState()->GetInitializedCacheValue(
|
||||
const char* cacheValue = lg->GetState()->GetInitializedCacheValue(
|
||||
cacheEntryName);
|
||||
|
||||
// now we have both, decide which one to use
|
||||
|
@ -1036,8 +1036,7 @@ void cmExtraEclipseCDT4Generator::CreateCProjectFile() const
|
|||
++it)
|
||||
{
|
||||
const cmTargets& targets = (*it)->GetMakefile()->GetTargets();
|
||||
cmMakefile* makefile=(*it)->GetMakefile();
|
||||
std::string subdir = (*it)->Convert(makefile->GetCurrentBinaryDirectory(),
|
||||
std::string subdir = (*it)->Convert((*it)->GetCurrentBinaryDirectory(),
|
||||
cmLocalGenerator::HOME_OUTPUT);
|
||||
if (subdir == ".")
|
||||
{
|
||||
|
@ -1098,7 +1097,7 @@ void cmExtraEclipseCDT4Generator::CreateCProjectFile() const
|
|||
ti->first.c_str());
|
||||
|
||||
std::string cleanArgs = "-E chdir \"";
|
||||
cleanArgs += makefile->GetCurrentBinaryDirectory();
|
||||
cleanArgs += (*it)->GetCurrentBinaryDirectory();
|
||||
cleanArgs += "\" \"";
|
||||
cleanArgs += cmSystemTools::GetCMakeCommand();
|
||||
cleanArgs += "\" -P \"";
|
||||
|
|
|
@ -121,7 +121,7 @@ cmExtraKateGenerator::WriteTargets(const cmLocalGenerator* lg,
|
|||
{
|
||||
const cmTargets& targets = (*it)->GetMakefile()->GetTargets();
|
||||
cmMakefile* makefile=(*it)->GetMakefile();
|
||||
std::string currentDir = makefile->GetCurrentBinaryDirectory();
|
||||
std::string currentDir = (*it)->GetCurrentBinaryDirectory();
|
||||
bool topLevel = (currentDir == (*it)->GetBinaryDirectory());
|
||||
|
||||
for(cmTargets::const_iterator ti=targets.begin(); ti!=targets.end(); ++ti)
|
||||
|
|
|
@ -77,8 +77,7 @@ void cmExtraSublimeTextGenerator::Generate()
|
|||
void cmExtraSublimeTextGenerator::CreateProjectFile(
|
||||
const std::vector<cmLocalGenerator*>& lgs)
|
||||
{
|
||||
const cmMakefile* mf=lgs[0]->GetMakefile();
|
||||
std::string outputDir=mf->GetCurrentBinaryDirectory();
|
||||
std::string outputDir=lgs[0]->GetCurrentBinaryDirectory();
|
||||
std::string projectName=lgs[0]->GetProjectName();
|
||||
|
||||
const std::string filename =
|
||||
|
|
|
@ -49,8 +49,7 @@ void cmGlobalKdevelopGenerator::Generate()
|
|||
it!= this->GlobalGenerator->GetProjectMap().end();
|
||||
++it)
|
||||
{
|
||||
cmMakefile* mf = it->second[0]->GetMakefile();
|
||||
std::string outputDir=mf->GetCurrentBinaryDirectory();
|
||||
std::string outputDir=it->second[0]->GetCurrentBinaryDirectory();
|
||||
std::string projectDir=it->second[0]->GetSourceDirectory();
|
||||
std::string projectName=it->second[0]->GetProjectName();
|
||||
std::string cmakeFilePattern("CMakeLists.txt;*.cmake;");
|
||||
|
|
|
@ -163,7 +163,7 @@ void cmGlobalUnixMakefileGenerator3::Generate()
|
|||
{
|
||||
cmLocalUnixMakefileGenerator3 *lg =
|
||||
static_cast<cmLocalUnixMakefileGenerator3 *>(this->LocalGenerators[i]);
|
||||
std::string markFileName = lg->GetMakefile()->GetCurrentBinaryDirectory();
|
||||
std::string markFileName = lg->GetCurrentBinaryDirectory();
|
||||
markFileName += "/";
|
||||
markFileName += cmake::GetCMakeFilesDirectory();
|
||||
markFileName += "/progress.marks";
|
||||
|
@ -395,7 +395,7 @@ void cmGlobalUnixMakefileGenerator3::WriteMainCMakefile()
|
|||
{
|
||||
lg =
|
||||
static_cast<cmLocalUnixMakefileGenerator3 *>(this->LocalGenerators[i]);
|
||||
tmpStr = lg->GetMakefile()->GetCurrentBinaryDirectory();
|
||||
tmpStr = lg->GetCurrentBinaryDirectory();
|
||||
tmpStr += cmake::GetCMakeFilesDirectory();
|
||||
tmpStr += "/CMakeDirectoryInformation.cmake";
|
||||
cmakefileStream << " \"" <<
|
||||
|
@ -454,7 +454,7 @@ cmGlobalUnixMakefileGenerator3
|
|||
bool check_relink)
|
||||
{
|
||||
// Get the relative path to the subdirectory from the top.
|
||||
std::string makeTarget = lg->GetMakefile()->GetCurrentBinaryDirectory();
|
||||
std::string makeTarget = lg->GetCurrentBinaryDirectory();
|
||||
makeTarget += "/";
|
||||
makeTarget += pass;
|
||||
|
||||
|
@ -534,7 +534,7 @@ cmGlobalUnixMakefileGenerator3
|
|||
}
|
||||
|
||||
// Begin the directory-level rules section.
|
||||
std::string dir = lg->GetMakefile()->GetCurrentBinaryDirectory();
|
||||
std::string dir = lg->GetCurrentBinaryDirectory();
|
||||
dir = lg->Convert(dir, cmLocalGenerator::HOME_OUTPUT,
|
||||
cmLocalGenerator::MAKERULE);
|
||||
lg->WriteDivider(ruleFileStream);
|
||||
|
|
|
@ -363,7 +363,7 @@ void cmGlobalVisualStudio7Generator
|
|||
return;
|
||||
}
|
||||
this->CurrentProject = root->GetProjectName();
|
||||
std::string fname = root->GetMakefile()->GetCurrentBinaryDirectory();
|
||||
std::string fname = root->GetCurrentBinaryDirectory();
|
||||
fname += "/";
|
||||
fname += root->GetProjectName();
|
||||
fname += ".sln";
|
||||
|
@ -468,8 +468,10 @@ void cmGlobalVisualStudio7Generator::WriteTargetsToSolution(
|
|||
target->GetProperty("GENERATOR_FILE_NAME");
|
||||
if(vcprojName)
|
||||
{
|
||||
cmMakefile* tmf = target->GetMakefile();
|
||||
std::string dir = tmf->GetCurrentBinaryDirectory();
|
||||
cmLocalGenerator* lg =
|
||||
root->GetGlobalGenerator()->GetGeneratorTarget(target)
|
||||
->GetLocalGenerator();
|
||||
std::string dir = lg->GetCurrentBinaryDirectory();
|
||||
dir = root->Convert(dir.c_str(),
|
||||
cmLocalGenerator::START_OUTPUT);
|
||||
if(dir == ".")
|
||||
|
|
|
@ -414,11 +414,12 @@ void cmGlobalXCodeGenerator::SetGenerationRoot(cmLocalGenerator* root)
|
|||
this->SetCurrentLocalGenerator(root);
|
||||
cmSystemTools::SplitPath(this->CurrentMakefile->GetCurrentSourceDirectory(),
|
||||
this->ProjectSourceDirectoryComponents);
|
||||
cmSystemTools::SplitPath(this->CurrentMakefile->GetCurrentBinaryDirectory(),
|
||||
this->ProjectOutputDirectoryComponents);
|
||||
cmSystemTools::SplitPath(
|
||||
this->CurrentLocalGenerator->GetCurrentBinaryDirectory(),
|
||||
this->ProjectOutputDirectoryComponents);
|
||||
|
||||
this->CurrentXCodeHackMakefile =
|
||||
root->GetMakefile()->GetCurrentBinaryDirectory();
|
||||
root->GetCurrentBinaryDirectory();
|
||||
this->CurrentXCodeHackMakefile += "/CMakeScripts";
|
||||
cmSystemTools::MakeDirectory(this->CurrentXCodeHackMakefile.c_str());
|
||||
this->CurrentXCodeHackMakefile += "/XCODE_DEPEND_HELPER.make";
|
||||
|
@ -466,7 +467,7 @@ cmGlobalXCodeGenerator::AddExtraTargets(cmLocalGenerator* root,
|
|||
allBuildGt->AddSource(listfile.c_str());
|
||||
|
||||
// Add XCODE depend helper
|
||||
std::string dir = mf->GetCurrentBinaryDirectory();
|
||||
std::string dir = root->GetCurrentBinaryDirectory();
|
||||
cmCustomCommandLine makeHelper;
|
||||
if(this->XcodeVersion < 50)
|
||||
{
|
||||
|
@ -568,7 +569,6 @@ cmGlobalXCodeGenerator::AddExtraTargets(cmLocalGenerator* root,
|
|||
void cmGlobalXCodeGenerator::CreateReRunCMakeFile(
|
||||
cmLocalGenerator* root, std::vector<cmLocalGenerator*> const& gens)
|
||||
{
|
||||
cmMakefile* mf = root->GetMakefile();
|
||||
std::vector<std::string> lfiles;
|
||||
for(std::vector<cmLocalGenerator*>::const_iterator gi = gens.begin();
|
||||
gi != gens.end(); ++gi)
|
||||
|
@ -582,7 +582,7 @@ void cmGlobalXCodeGenerator::CreateReRunCMakeFile(
|
|||
std::vector<std::string>::iterator new_end =
|
||||
std::unique(lfiles.begin(), lfiles.end());
|
||||
lfiles.erase(new_end, lfiles.end());
|
||||
this->CurrentReRunCMakeMakefile = mf->GetCurrentBinaryDirectory();
|
||||
this->CurrentReRunCMakeMakefile = root->GetCurrentBinaryDirectory();
|
||||
this->CurrentReRunCMakeMakefile += "/CMakeScripts";
|
||||
cmSystemTools::MakeDirectory(this->CurrentReRunCMakeMakefile.c_str());
|
||||
this->CurrentReRunCMakeMakefile += "/ReRunCMake.make";
|
||||
|
@ -1033,7 +1033,7 @@ void cmGlobalXCodeGenerator::SetCurrentLocalGenerator(cmLocalGenerator* gen)
|
|||
this->CurrentLocalGenerator = gen;
|
||||
this->CurrentMakefile = gen->GetMakefile();
|
||||
std::string outdir =
|
||||
cmSystemTools::CollapseFullPath(this->CurrentMakefile->
|
||||
cmSystemTools::CollapseFullPath(this->CurrentLocalGenerator->
|
||||
GetCurrentBinaryDirectory());
|
||||
cmSystemTools::SplitPath(outdir.c_str(),
|
||||
this->CurrentOutputDirectoryComponents);
|
||||
|
@ -1389,7 +1389,7 @@ void cmGlobalXCodeGenerator::ForceLinkerLanguage(cmTarget& cmtarget)
|
|||
// linker language. This should convince Xcode to choose the proper
|
||||
// language.
|
||||
cmMakefile* mf = cmtarget.GetMakefile();
|
||||
std::string fname = mf->GetCurrentBinaryDirectory();
|
||||
std::string fname = gtgt->GetLocalGenerator()->GetCurrentBinaryDirectory();
|
||||
fname += cmake::GetCMakeFilesDirectory();
|
||||
fname += "/";
|
||||
fname += cmtarget.GetName();
|
||||
|
@ -1618,7 +1618,7 @@ cmGlobalXCodeGenerator::AddCommandsToBuildPhase(cmXCodeObject* buildphase,
|
|||
const & commands,
|
||||
const char* name)
|
||||
{
|
||||
std::string dir = this->CurrentMakefile->GetCurrentBinaryDirectory();
|
||||
std::string dir = this->CurrentLocalGenerator->GetCurrentBinaryDirectory();
|
||||
dir += "/CMakeScripts";
|
||||
cmSystemTools::MakeDirectory(dir.c_str());
|
||||
std::string makefile = dir;
|
||||
|
@ -1639,7 +1639,7 @@ cmGlobalXCodeGenerator::AddCommandsToBuildPhase(cmXCodeObject* buildphase,
|
|||
currentConfig->c_str());
|
||||
}
|
||||
|
||||
std::string cdir = this->CurrentMakefile->GetCurrentBinaryDirectory();
|
||||
std::string cdir = this->CurrentLocalGenerator->GetCurrentBinaryDirectory();
|
||||
cdir = this->ConvertToRelativeForXCode(cdir.c_str());
|
||||
std::string makecmd = "make -C ";
|
||||
makecmd += cdir;
|
||||
|
@ -1967,7 +1967,7 @@ void cmGlobalXCodeGenerator::CreateBuildSettings(cmTarget& target,
|
|||
}
|
||||
|
||||
// Set attributes to specify the proper name for the target.
|
||||
std::string pndir = this->CurrentMakefile->GetCurrentBinaryDirectory();
|
||||
std::string pndir = this->CurrentLocalGenerator->GetCurrentBinaryDirectory();
|
||||
if(target.GetType() == cmTarget::STATIC_LIBRARY ||
|
||||
target.GetType() == cmTarget::SHARED_LIBRARY ||
|
||||
target.GetType() == cmTarget::MODULE_LIBRARY ||
|
||||
|
@ -3484,7 +3484,7 @@ bool cmGlobalXCodeGenerator
|
|||
}
|
||||
}
|
||||
|
||||
std::string symroot = root->GetMakefile()->GetCurrentBinaryDirectory();
|
||||
std::string symroot = root->GetCurrentBinaryDirectory();
|
||||
symroot += "/build";
|
||||
buildSettings->AddAttribute("SYMROOT", this->CreateString(symroot.c_str()));
|
||||
|
||||
|
@ -3727,7 +3727,7 @@ cmGlobalXCodeGenerator::OutputXCodeProject(cmLocalGenerator* root,
|
|||
{
|
||||
return;
|
||||
}
|
||||
std::string xcodeDir = root->GetMakefile()->GetCurrentBinaryDirectory();
|
||||
std::string xcodeDir = root->GetCurrentBinaryDirectory();
|
||||
xcodeDir += "/";
|
||||
xcodeDir += root->GetProjectName();
|
||||
xcodeDir += ".xcode";
|
||||
|
|
|
@ -64,7 +64,7 @@ void cmInstallExportGenerator::ComputeTempDir()
|
|||
// Choose a temporary directory in which to generate the import
|
||||
// files to be installed.
|
||||
this->TempDir =
|
||||
this->LocalGenerator->GetMakefile()->GetCurrentBinaryDirectory();
|
||||
this->LocalGenerator->GetCurrentBinaryDirectory();
|
||||
this->TempDir += cmake::GetCMakeFilesDirectory();
|
||||
this->TempDir += "/Export";
|
||||
if(this->Destination.empty())
|
||||
|
|
|
@ -2878,6 +2878,11 @@ const char* cmLocalGenerator::GetBinaryDirectory() const
|
|||
return this->GetCMakeInstance()->GetHomeOutputDirectory();
|
||||
}
|
||||
|
||||
const char* cmLocalGenerator::GetCurrentBinaryDirectory() const
|
||||
{
|
||||
return this->StateSnapshot.GetDirectory().GetCurrentBinary();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
std::string
|
||||
cmLocalGenerator::GetTargetDirectory(cmTarget const&) const
|
||||
|
|
|
@ -258,6 +258,8 @@ public:
|
|||
const char* GetSourceDirectory() const;
|
||||
const char* GetBinaryDirectory() const;
|
||||
|
||||
const char* GetCurrentBinaryDirectory() const;
|
||||
|
||||
/**
|
||||
* Generate a Mac OS X application bundle Info.plist file.
|
||||
*/
|
||||
|
|
|
@ -363,7 +363,7 @@ void cmLocalNinjaGenerator::AppendCustomCommandLines(
|
|||
if (ccg.GetNumberOfCommands() > 0) {
|
||||
std::string wd = ccg.GetWorkingDirectory();
|
||||
if (wd.empty())
|
||||
wd = this->GetMakefile()->GetCurrentBinaryDirectory();
|
||||
wd = this->GetCurrentBinaryDirectory();
|
||||
|
||||
std::ostringstream cdCmd;
|
||||
#ifdef _WIN32
|
||||
|
|
|
@ -111,14 +111,14 @@ void cmLocalVisualStudio6Generator::Generate()
|
|||
void cmLocalVisualStudio6Generator::OutputDSPFile()
|
||||
{
|
||||
// If not an in source build, then create the output directory
|
||||
if(strcmp(this->Makefile->GetCurrentBinaryDirectory(),
|
||||
if(strcmp(this->GetCurrentBinaryDirectory(),
|
||||
this->GetSourceDirectory()) != 0)
|
||||
{
|
||||
if(!cmSystemTools::MakeDirectory
|
||||
(this->Makefile->GetCurrentBinaryDirectory()))
|
||||
(this->GetCurrentBinaryDirectory()))
|
||||
{
|
||||
cmSystemTools::Error("Error creating directory ",
|
||||
this->Makefile->GetCurrentBinaryDirectory());
|
||||
this->GetCurrentBinaryDirectory());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -163,7 +163,7 @@ void cmLocalVisualStudio6Generator::OutputDSPFile()
|
|||
std::string::size_type pos = l->first.rfind('/');
|
||||
if(pos != std::string::npos)
|
||||
{
|
||||
std::string dir = this->Makefile->GetCurrentBinaryDirectory();
|
||||
std::string dir = this->GetCurrentBinaryDirectory();
|
||||
dir += "/";
|
||||
dir += l->first.substr(0, pos);
|
||||
if(!cmSystemTools::MakeDirectory(dir.c_str()))
|
||||
|
@ -189,7 +189,7 @@ void cmLocalVisualStudio6Generator::CreateSingleDSP(const std::string& lname,
|
|||
|
||||
// create the dsp.cmake file
|
||||
std::string fname;
|
||||
fname = this->Makefile->GetCurrentBinaryDirectory();
|
||||
fname = this->GetCurrentBinaryDirectory();
|
||||
fname += "/";
|
||||
fname += pname;
|
||||
fname += ".dsp";
|
||||
|
@ -578,9 +578,9 @@ cmLocalVisualStudio6Generator
|
|||
const cmCustomCommand& origCommand)
|
||||
{
|
||||
// Create a fake output that forces the rule to run.
|
||||
char* output = new char[(strlen(this->Makefile->GetCurrentBinaryDirectory())
|
||||
char* output = new char[(strlen(this->GetCurrentBinaryDirectory())
|
||||
+ target.GetName().size() + 30)];
|
||||
sprintf(output,"%s/%s_force_%i", this->Makefile->GetCurrentBinaryDirectory(),
|
||||
sprintf(output,"%s/%s_force_%i", this->GetCurrentBinaryDirectory(),
|
||||
target.GetName().c_str(), count);
|
||||
const char* comment = origCommand.GetComment();
|
||||
if(!comment && origCommand.GetOutputs().empty())
|
||||
|
@ -1964,7 +1964,7 @@ cmLocalVisualStudio6Generator
|
|||
// files directory for any configuration. This is used to construct
|
||||
// object file names that do not produce paths that are too long.
|
||||
std::string dir_max;
|
||||
dir_max += this->Makefile->GetCurrentBinaryDirectory();
|
||||
dir_max += this->GetCurrentBinaryDirectory();
|
||||
dir_max += "/";
|
||||
dir_max += config_max;
|
||||
dir_max += "/";
|
||||
|
|
|
@ -140,7 +140,7 @@ void cmLocalVisualStudio7Generator::FixGlobalTargets()
|
|||
cmCustomCommandLines force_commands;
|
||||
force_commands.push_back(force_command);
|
||||
std::string no_main_dependency = "";
|
||||
std::string force = this->Makefile->GetCurrentBinaryDirectory();
|
||||
std::string force = this->GetCurrentBinaryDirectory();
|
||||
force += cmake::GetCMakeFilesDirectory();
|
||||
force += "/";
|
||||
force += tgt.GetName();
|
||||
|
@ -164,14 +164,14 @@ void cmLocalVisualStudio7Generator::FixGlobalTargets()
|
|||
void cmLocalVisualStudio7Generator::WriteProjectFiles()
|
||||
{
|
||||
// If not an in source build, then create the output directory
|
||||
if(strcmp(this->Makefile->GetCurrentBinaryDirectory(),
|
||||
if(strcmp(this->GetCurrentBinaryDirectory(),
|
||||
this->GetSourceDirectory()) != 0)
|
||||
{
|
||||
if(!cmSystemTools::MakeDirectory
|
||||
(this->Makefile->GetCurrentBinaryDirectory()))
|
||||
(this->GetCurrentBinaryDirectory()))
|
||||
{
|
||||
cmSystemTools::Error("Error creating directory ",
|
||||
this->Makefile->GetCurrentBinaryDirectory());
|
||||
this->GetCurrentBinaryDirectory());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -200,7 +200,7 @@ void cmLocalVisualStudio7Generator::WriteStampFiles()
|
|||
{
|
||||
// Touch a timestamp file used to determine when the project file is
|
||||
// out of date.
|
||||
std::string stampName = this->Makefile->GetCurrentBinaryDirectory();
|
||||
std::string stampName = this->GetCurrentBinaryDirectory();
|
||||
stampName += cmake::GetCMakeFilesDirectory();
|
||||
cmSystemTools::MakeDirectory(stampName.c_str());
|
||||
stampName += "/";
|
||||
|
@ -247,7 +247,7 @@ void cmLocalVisualStudio7Generator
|
|||
target.SetProperty("GENERATOR_FILE_NAME",lname.c_str());
|
||||
// create the dsp.cmake file
|
||||
std::string fname;
|
||||
fname = this->Makefile->GetCurrentBinaryDirectory();
|
||||
fname = this->GetCurrentBinaryDirectory();
|
||||
fname += "/";
|
||||
fname += lname;
|
||||
if(this->FortranProject)
|
||||
|
@ -276,7 +276,7 @@ void cmLocalVisualStudio7Generator
|
|||
//----------------------------------------------------------------------------
|
||||
cmSourceFile* cmLocalVisualStudio7Generator::CreateVCProjBuildRule()
|
||||
{
|
||||
std::string stampName = this->Makefile->GetCurrentBinaryDirectory();
|
||||
std::string stampName = this->GetCurrentBinaryDirectory();
|
||||
stampName += "/";
|
||||
stampName += cmake::GetCMakeFilesDirectoryPostSlash();
|
||||
stampName += "generate.stamp";
|
||||
|
@ -1723,7 +1723,7 @@ cmLocalVisualStudio7Generator
|
|||
// files directory for any configuration. This is used to construct
|
||||
// object file names that do not produce paths that are too long.
|
||||
std::string dir_max;
|
||||
dir_max += this->Makefile->GetCurrentBinaryDirectory();
|
||||
dir_max += this->GetCurrentBinaryDirectory();
|
||||
dir_max += "/";
|
||||
dir_max += this->GetTargetDirectory(target);
|
||||
dir_max += "/";
|
||||
|
|
|
@ -419,7 +419,7 @@ void cmMakefileTargetGenerator
|
|||
this->WriteObjectBuildFile(obj, lang, source, depends);
|
||||
|
||||
// The object file should be checked for dependency integrity.
|
||||
std::string objFullPath = this->Makefile->GetCurrentBinaryDirectory();
|
||||
std::string objFullPath = this->LocalGenerator->GetCurrentBinaryDirectory();
|
||||
objFullPath += "/";
|
||||
objFullPath += obj;
|
||||
objFullPath =
|
||||
|
@ -642,7 +642,8 @@ cmMakefileTargetGenerator
|
|||
this->LocalGenerator->ExpandRuleVariables(compileCommand, vars);
|
||||
std::string workingDirectory =
|
||||
this->LocalGenerator->Convert(
|
||||
this->Makefile->GetCurrentBinaryDirectory(), cmLocalGenerator::FULL);
|
||||
this->LocalGenerator->GetCurrentBinaryDirectory(),
|
||||
cmLocalGenerator::FULL);
|
||||
compileCommand.replace(compileCommand.find(langFlags),
|
||||
langFlags.size(), this->GetFlags(lang));
|
||||
std::string langDefines = std::string("$(") + lang + "_DEFINES)";
|
||||
|
@ -698,7 +699,7 @@ cmMakefileTargetGenerator
|
|||
// Change the command working directory to the local build tree.
|
||||
this->LocalGenerator->CreateCDCommand
|
||||
(compileCommands,
|
||||
this->Makefile->GetCurrentBinaryDirectory(),
|
||||
this->LocalGenerator->GetCurrentBinaryDirectory(),
|
||||
cmLocalGenerator::HOME_OUTPUT);
|
||||
commands.insert(commands.end(),
|
||||
compileCommands.begin(), compileCommands.end());
|
||||
|
@ -771,7 +772,7 @@ cmMakefileTargetGenerator
|
|||
|
||||
this->LocalGenerator->CreateCDCommand
|
||||
(preprocessCommands,
|
||||
this->Makefile->GetCurrentBinaryDirectory(),
|
||||
this->LocalGenerator->GetCurrentBinaryDirectory(),
|
||||
cmLocalGenerator::HOME_OUTPUT);
|
||||
commands.insert(commands.end(),
|
||||
preprocessCommands.begin(),
|
||||
|
@ -828,7 +829,7 @@ cmMakefileTargetGenerator
|
|||
|
||||
this->LocalGenerator->CreateCDCommand
|
||||
(assemblyCommands,
|
||||
this->Makefile->GetCurrentBinaryDirectory(),
|
||||
this->LocalGenerator->GetCurrentBinaryDirectory(),
|
||||
cmLocalGenerator::HOME_OUTPUT);
|
||||
commands.insert(commands.end(),
|
||||
assemblyCommands.begin(),
|
||||
|
@ -929,7 +930,7 @@ void cmMakefileTargetGenerator::WriteTargetCleanRules()
|
|||
*this->Target);
|
||||
this->LocalGenerator->CreateCDCommand
|
||||
(commands,
|
||||
this->Makefile->GetCurrentBinaryDirectory(),
|
||||
this->LocalGenerator->GetCurrentBinaryDirectory(),
|
||||
cmLocalGenerator::HOME_OUTPUT);
|
||||
|
||||
// Write the rule.
|
||||
|
@ -1119,7 +1120,7 @@ void cmMakefileTargetGenerator::WriteTargetDependRules()
|
|||
<< this->Convert(this->LocalGenerator->GetBinaryDirectory(),
|
||||
cmLocalGenerator::FULL, cmLocalGenerator::SHELL)
|
||||
<< " "
|
||||
<< this->Convert(this->Makefile->GetCurrentBinaryDirectory(),
|
||||
<< this->Convert(this->LocalGenerator->GetCurrentBinaryDirectory(),
|
||||
cmLocalGenerator::FULL, cmLocalGenerator::SHELL)
|
||||
<< " "
|
||||
<< this->Convert(this->InfoFileNameFull,
|
||||
|
|
|
@ -195,7 +195,7 @@ cmVisualStudio10TargetGenerator(cmTarget* target,
|
|||
this->BuildFileStream = 0;
|
||||
this->IsMissingFiles = false;
|
||||
this->DefaultArtifactDir =
|
||||
this->Makefile->GetCurrentBinaryDirectory() + std::string("/") +
|
||||
this->LocalGenerator->GetCurrentBinaryDirectory() + std::string("/") +
|
||||
this->LocalGenerator->GetTargetDirectory(*this->Target);
|
||||
}
|
||||
|
||||
|
@ -297,8 +297,7 @@ void cmVisualStudio10TargetGenerator::Generate()
|
|||
return;
|
||||
}
|
||||
}
|
||||
cmMakefile* mf = this->Target->GetMakefile();
|
||||
std::string path = mf->GetCurrentBinaryDirectory();
|
||||
std::string path = this->LocalGenerator->GetCurrentBinaryDirectory();
|
||||
path += "/";
|
||||
path += this->Name;
|
||||
path += ".vcxproj";
|
||||
|
@ -951,7 +950,7 @@ cmVisualStudio10TargetGenerator::ConvertPath(std::string const& path,
|
|||
{
|
||||
return forceRelative
|
||||
? cmSystemTools::RelativePath(
|
||||
this->Makefile->GetCurrentBinaryDirectory(), path.c_str())
|
||||
this->LocalGenerator->GetCurrentBinaryDirectory(), path.c_str())
|
||||
: path.c_str();
|
||||
}
|
||||
|
||||
|
@ -990,7 +989,7 @@ void cmVisualStudio10TargetGenerator::WriteGroups()
|
|||
this->AddMissingSourceGroups(groupsUsed, sourceGroups);
|
||||
|
||||
// Write out group file
|
||||
std::string path = this->Makefile->GetCurrentBinaryDirectory();
|
||||
std::string path = this->LocalGenerator->GetCurrentBinaryDirectory();
|
||||
path += "/";
|
||||
path += this->Name;
|
||||
path += ".vcxproj.filters";
|
||||
|
@ -1448,7 +1447,7 @@ void cmVisualStudio10TargetGenerator::WriteSource(
|
|||
std::string sourceRel = this->ConvertPath(sf->GetFullPath(), true);
|
||||
size_t const maxLen = 250;
|
||||
if(sf->GetCustomCommand() ||
|
||||
((strlen(this->Makefile->GetCurrentBinaryDirectory()) + 1 +
|
||||
((strlen(this->LocalGenerator->GetCurrentBinaryDirectory()) + 1 +
|
||||
sourceRel.length()) <= maxLen))
|
||||
{
|
||||
forceRelative = true;
|
||||
|
@ -3313,7 +3312,8 @@ void cmVisualStudio10TargetGenerator::WriteMissingFilesWP80()
|
|||
// For WP80, the manifest needs to be in the same folder as the project
|
||||
// this can cause an overwrite problem if projects aren't organized in
|
||||
// folders
|
||||
std::string manifestFile = this->Makefile->GetCurrentBinaryDirectory() +
|
||||
std::string manifestFile =
|
||||
this->LocalGenerator->GetCurrentBinaryDirectory() +
|
||||
std::string("/WMAppManifest.xml");
|
||||
std::string artifactDir =
|
||||
this->LocalGenerator->GetTargetDirectory(*this->Target);
|
||||
|
|
Loading…
Reference in New Issue