ENH: added internal target property for the name of the project file
This commit is contained in:
parent
5415b65067
commit
8b0c61c322
|
@ -85,13 +85,9 @@ void cmGlobalVisualStudio71Generator
|
||||||
// Get the list of create dsp files names from the cmVCProjWriter, more
|
// Get the list of create dsp files names from the cmVCProjWriter, more
|
||||||
// than one dsp could have been created per input CMakeLists.txt file
|
// than one dsp could have been created per input CMakeLists.txt file
|
||||||
// for each target
|
// for each target
|
||||||
std::vector<std::string> dspnames =
|
|
||||||
static_cast<cmLocalVisualStudio7Generator *>(generators[i])
|
|
||||||
->GetCreatedProjectNames();
|
|
||||||
cmTargets &tgts = generators[i]->GetMakefile()->GetTargets();
|
cmTargets &tgts = generators[i]->GetMakefile()->GetTargets();
|
||||||
cmTargets::iterator l = tgts.begin();
|
cmTargets::iterator l = tgts.begin();
|
||||||
for(std::vector<std::string>::iterator si = dspnames.begin();
|
for(; l != tgts.end(); ++l)
|
||||||
l != tgts.end() && si != dspnames.end(); ++l)
|
|
||||||
{
|
{
|
||||||
// special handling for the current makefile
|
// special handling for the current makefile
|
||||||
if(mf == generators[0]->GetMakefile())
|
if(mf == generators[0]->GetMakefile())
|
||||||
|
@ -221,9 +217,13 @@ void cmGlobalVisualStudio71Generator
|
||||||
}
|
}
|
||||||
if(!skip)
|
if(!skip)
|
||||||
{
|
{
|
||||||
this->WriteProject(fout, si->c_str(), dir.c_str(),l->second);
|
const char *dspname =
|
||||||
|
l->second.GetProperty("GENERATOR_FILE_NAME");
|
||||||
|
if (dspname)
|
||||||
|
{
|
||||||
|
this->WriteProject(fout, dspname, dir.c_str(),l->second);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
++si;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -241,13 +241,10 @@ void cmGlobalVisualStudio71Generator
|
||||||
// Get the list of create dsp files names from the cmVCProjWriter, more
|
// Get the list of create dsp files names from the cmVCProjWriter, more
|
||||||
// than one dsp could have been created per input CMakeLists.txt file
|
// than one dsp could have been created per input CMakeLists.txt file
|
||||||
// for each target
|
// for each target
|
||||||
std::vector<std::string> dspnames =
|
|
||||||
pg->GetCreatedProjectNames();
|
|
||||||
cmTargets &tgts = pg->GetMakefile()->GetTargets();
|
cmTargets &tgts = pg->GetMakefile()->GetTargets();
|
||||||
cmTargets::iterator l = tgts.begin();
|
cmTargets::iterator l = tgts.begin();
|
||||||
std::string dir = mf->GetStartDirectory();
|
std::string dir = mf->GetStartDirectory();
|
||||||
for(std::vector<std::string>::iterator si = dspnames.begin();
|
for(; l != tgts.end(); ++l)
|
||||||
l != tgts.end() && si != dspnames.end(); ++l)
|
|
||||||
{
|
{
|
||||||
if (strncmp(l->first.c_str(), "INCLUDE_EXTERNAL_MSPROJECT", 26) == 0)
|
if (strncmp(l->first.c_str(), "INCLUDE_EXTERNAL_MSPROJECT", 26) == 0)
|
||||||
{
|
{
|
||||||
|
@ -263,9 +260,13 @@ void cmGlobalVisualStudio71Generator
|
||||||
bool partOfDefaultBuild = this->IsPartOfDefaultBuild(
|
bool partOfDefaultBuild = this->IsPartOfDefaultBuild(
|
||||||
root->GetMakefile()->GetProjectName(),
|
root->GetMakefile()->GetProjectName(),
|
||||||
&l->second);
|
&l->second);
|
||||||
this->WriteProjectConfigurations(fout, si->c_str(),
|
const char *dspname =
|
||||||
|
l->second.GetProperty("GENERATOR_FILE_NAME");
|
||||||
|
if (dspname)
|
||||||
|
{
|
||||||
|
this->WriteProjectConfigurations(fout, dspname,
|
||||||
partOfDefaultBuild);
|
partOfDefaultBuild);
|
||||||
++si;
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -317,13 +317,9 @@ void cmGlobalVisualStudio7Generator
|
||||||
// Get the list of create dsp files names from the cmVCProjWriter, more
|
// Get the list of create dsp files names from the cmVCProjWriter, more
|
||||||
// than one dsp could have been created per input CMakeLists.txt file
|
// than one dsp could have been created per input CMakeLists.txt file
|
||||||
// for each target
|
// for each target
|
||||||
std::vector<std::string> dspnames =
|
|
||||||
static_cast<cmLocalVisualStudio7Generator *>(generators[i])
|
|
||||||
->GetCreatedProjectNames();
|
|
||||||
cmTargets &tgts = generators[i]->GetMakefile()->GetTargets();
|
cmTargets &tgts = generators[i]->GetMakefile()->GetTargets();
|
||||||
cmTargets::iterator l = tgts.begin();
|
cmTargets::iterator l = tgts.begin();
|
||||||
for(std::vector<std::string>::iterator si = dspnames.begin();
|
for(; l != tgts.end(); ++l)
|
||||||
l != tgts.end(); ++l)
|
|
||||||
{
|
{
|
||||||
// special handling for the current makefile
|
// special handling for the current makefile
|
||||||
if(mf == generators[0]->GetMakefile())
|
if(mf == generators[0]->GetMakefile())
|
||||||
|
@ -442,9 +438,13 @@ void cmGlobalVisualStudio7Generator
|
||||||
}
|
}
|
||||||
if(!skip)
|
if(!skip)
|
||||||
{
|
{
|
||||||
this->WriteProject(fout, si->c_str(), dir.c_str(),l->second);
|
const char *dspname =
|
||||||
|
l->second.GetProperty("GENERATOR_FILE_NAME");
|
||||||
|
if (dspname)
|
||||||
|
{
|
||||||
|
this->WriteProject(fout, dspname, dir.c_str(),l->second);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
++si;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -471,13 +471,10 @@ void cmGlobalVisualStudio7Generator
|
||||||
// Get the list of create dsp files names from the cmVCProjWriter, more
|
// Get the list of create dsp files names from the cmVCProjWriter, more
|
||||||
// than one dsp could have been created per input CMakeLists.txt file
|
// than one dsp could have been created per input CMakeLists.txt file
|
||||||
// for each target
|
// for each target
|
||||||
std::vector<std::string> dspnames =
|
|
||||||
pg->GetCreatedProjectNames();
|
|
||||||
cmTargets &tgts = pg->GetMakefile()->GetTargets();
|
cmTargets &tgts = pg->GetMakefile()->GetTargets();
|
||||||
cmTargets::iterator l = tgts.begin();
|
cmTargets::iterator l = tgts.begin();
|
||||||
std::string dir = mf->GetStartDirectory();
|
std::string dir = mf->GetStartDirectory();
|
||||||
for(std::vector<std::string>::iterator si = dspnames.begin();
|
for(; l != tgts.end(); ++l)
|
||||||
l != tgts.end() && si != dspnames.end(); ++l)
|
|
||||||
{
|
{
|
||||||
if (strncmp(l->first.c_str(), "INCLUDE_EXTERNAL_MSPROJECT", 26) == 0)
|
if (strncmp(l->first.c_str(), "INCLUDE_EXTERNAL_MSPROJECT", 26) == 0)
|
||||||
{
|
{
|
||||||
|
@ -507,8 +504,13 @@ void cmGlobalVisualStudio7Generator
|
||||||
else if ((l->second.GetType() != cmTarget::INSTALL_FILES)
|
else if ((l->second.GetType() != cmTarget::INSTALL_FILES)
|
||||||
&& (l->second.GetType() != cmTarget::INSTALL_PROGRAMS))
|
&& (l->second.GetType() != cmTarget::INSTALL_PROGRAMS))
|
||||||
{
|
{
|
||||||
this->WriteProjectDepends(fout, si->c_str(), dir.c_str(), l->second);
|
const char *dspname =
|
||||||
++si;
|
l->second.GetProperty("GENERATOR_FILE_NAME");
|
||||||
|
if (dspname)
|
||||||
|
{
|
||||||
|
this->WriteProjectDepends(fout, dspname,
|
||||||
|
dir.c_str(), l->second);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -523,13 +525,10 @@ void cmGlobalVisualStudio7Generator
|
||||||
// Get the list of create dsp files names from the cmVCProjWriter, more
|
// Get the list of create dsp files names from the cmVCProjWriter, more
|
||||||
// than one dsp could have been created per input CMakeLists.txt file
|
// than one dsp could have been created per input CMakeLists.txt file
|
||||||
// for each target
|
// for each target
|
||||||
std::vector<std::string> dspnames =
|
|
||||||
pg->GetCreatedProjectNames();
|
|
||||||
cmTargets &tgts = pg->GetMakefile()->GetTargets();
|
cmTargets &tgts = pg->GetMakefile()->GetTargets();
|
||||||
cmTargets::iterator l = tgts.begin();
|
cmTargets::iterator l = tgts.begin();
|
||||||
std::string dir = mf->GetStartDirectory();
|
std::string dir = mf->GetStartDirectory();
|
||||||
for(std::vector<std::string>::iterator si = dspnames.begin();
|
for(; l != tgts.end(); ++l)
|
||||||
l != tgts.end() && si != dspnames.end(); ++l)
|
|
||||||
{
|
{
|
||||||
if(strncmp(l->first.c_str(), "INCLUDE_EXTERNAL_MSPROJECT", 26) == 0)
|
if(strncmp(l->first.c_str(), "INCLUDE_EXTERNAL_MSPROJECT", 26) == 0)
|
||||||
{
|
{
|
||||||
|
@ -545,9 +544,13 @@ void cmGlobalVisualStudio7Generator
|
||||||
bool partOfDefaultBuild = this->IsPartOfDefaultBuild(
|
bool partOfDefaultBuild = this->IsPartOfDefaultBuild(
|
||||||
root->GetMakefile()->GetProjectName(),
|
root->GetMakefile()->GetProjectName(),
|
||||||
&l->second);
|
&l->second);
|
||||||
this->WriteProjectConfigurations(fout, si->c_str(),
|
const char *dspname =
|
||||||
|
l->second.GetProperty("GENERATOR_FILE_NAME");
|
||||||
|
if (dspname)
|
||||||
|
{
|
||||||
|
this->WriteProjectConfigurations(fout, dspname,
|
||||||
partOfDefaultBuild);
|
partOfDefaultBuild);
|
||||||
++si;
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -184,9 +184,6 @@ void cmGlobalVisualStudio8Generator::WriteSLNFile(
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
cmMakefile* mf = generators[i]->GetMakefile();
|
cmMakefile* mf = generators[i]->GetMakefile();
|
||||||
std::vector<std::string> dspnames =
|
|
||||||
static_cast<cmLocalVisualStudio7Generator*>(generators[i])
|
|
||||||
->GetCreatedProjectNames();
|
|
||||||
cmTargets& tgts = mf->GetTargets();
|
cmTargets& tgts = mf->GetTargets();
|
||||||
for(cmTargets::iterator l = tgts.begin(); l != tgts.end(); ++l)
|
for(cmTargets::iterator l = tgts.begin(); l != tgts.end(); ++l)
|
||||||
{
|
{
|
||||||
|
|
|
@ -110,9 +110,6 @@ void cmLocalVisualStudio7Generator::OutputVCProjFile()
|
||||||
|
|
||||||
// Create the VCProj or set of VCProj's for libraries and executables
|
// Create the VCProj or set of VCProj's for libraries and executables
|
||||||
|
|
||||||
// clear project names
|
|
||||||
this->CreatedProjectNames.clear();
|
|
||||||
|
|
||||||
// Call TraceVSDependencies on all targets
|
// Call TraceVSDependencies on all targets
|
||||||
cmTargets &tgts = this->Makefile->GetTargets();
|
cmTargets &tgts = this->Makefile->GetTargets();
|
||||||
for(cmTargets::iterator l = tgts.begin();
|
for(cmTargets::iterator l = tgts.begin();
|
||||||
|
@ -158,7 +155,7 @@ void cmLocalVisualStudio7Generator
|
||||||
{
|
{
|
||||||
// add to the list of projects
|
// add to the list of projects
|
||||||
std::string pname = lname;
|
std::string pname = lname;
|
||||||
this->CreatedProjectNames.push_back(pname);
|
target.SetProperty("GENERATOR_FILE_NAME",lname);
|
||||||
// create the dsp.cmake file
|
// create the dsp.cmake file
|
||||||
std::string fname;
|
std::string fname;
|
||||||
fname = this->Makefile->GetStartOutputDirectory();
|
fname = this->Makefile->GetStartOutputDirectory();
|
||||||
|
|
|
@ -54,14 +54,6 @@ public:
|
||||||
*/
|
*/
|
||||||
void SetBuildType(BuildType,const char *name);
|
void SetBuildType(BuildType,const char *name);
|
||||||
|
|
||||||
/**
|
|
||||||
* Return array of created DSP names in a STL vector.
|
|
||||||
* Each executable must have its own dsp.
|
|
||||||
*/
|
|
||||||
std::vector<std::string> GetCreatedProjectNames()
|
|
||||||
{
|
|
||||||
return this->CreatedProjectNames;
|
|
||||||
}
|
|
||||||
void SetVersion71() {this->Version = 71;}
|
void SetVersion71() {this->Version = 71;}
|
||||||
void SetVersion8() {this->Version = 8;}
|
void SetVersion8() {this->Version = 8;}
|
||||||
void SetPlatformName(const char* n) { this->PlatformName = n;}
|
void SetPlatformName(const char* n) { this->PlatformName = n;}
|
||||||
|
@ -127,7 +119,6 @@ private:
|
||||||
virtual std::string GetTargetDirectory(cmTarget&);
|
virtual std::string GetTargetDirectory(cmTarget&);
|
||||||
|
|
||||||
cmVS7FlagTable const* ExtraFlagTable;
|
cmVS7FlagTable const* ExtraFlagTable;
|
||||||
std::vector<std::string> CreatedProjectNames;
|
|
||||||
std::string ModuleDefinitionFile;
|
std::string ModuleDefinitionFile;
|
||||||
int Version;
|
int Version;
|
||||||
std::string PlatformName; // Win32 or x64
|
std::string PlatformName; // Win32 or x64
|
||||||
|
|
|
@ -275,6 +275,12 @@ void cmTarget::DefineProperties(cmake *cm)
|
||||||
"exported symbols and then used for linking. "
|
"exported symbols and then used for linking. "
|
||||||
"All Windows-based systems including Cygwin are DLL platforms.");
|
"All Windows-based systems including Cygwin are DLL platforms.");
|
||||||
|
|
||||||
|
cm->DefineProperty
|
||||||
|
("GENERATOR_FILE_NAME", cmProperty::TARGET,
|
||||||
|
"Generator's file for this target.",
|
||||||
|
"An internal property used by some generators to record the name of "
|
||||||
|
"project or dsp file associated with this target.");
|
||||||
|
|
||||||
cm->DefineProperty
|
cm->DefineProperty
|
||||||
("OBJECT_FILES", cmProperty::TARGET,
|
("OBJECT_FILES", cmProperty::TARGET,
|
||||||
"Used to get the resulting list of object files that make up a "
|
"Used to get the resulting list of object files that make up a "
|
||||||
|
|
Loading…
Reference in New Issue