Fix automoc with VS builds: apply patch from Bill
This patch moves the creation of VS GUIDs from the final pass to AddHelperCommands() and should fix the failing automoc tests with VS. Alex
This commit is contained in:
parent
71165e943e
commit
e78ce44b35
|
@ -739,18 +739,6 @@ void cmGlobalVisualStudio7Generator
|
|||
entry.Full = "";
|
||||
}
|
||||
|
||||
// make sure "special" targets have GUID's
|
||||
void cmGlobalVisualStudio7Generator::Configure()
|
||||
{
|
||||
cmGlobalGenerator::Configure();
|
||||
this->CreateGUID("ALL_BUILD");
|
||||
this->CreateGUID("INSTALL");
|
||||
this->CreateGUID("RUN_TESTS");
|
||||
this->CreateGUID("EDIT_CACHE");
|
||||
this->CreateGUID("REBUILD_CACHE");
|
||||
this->CreateGUID("PACKAGE");
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
void
|
||||
cmGlobalVisualStudio7Generator
|
||||
|
|
|
@ -80,9 +80,6 @@ public:
|
|||
void CreateGUID(const char* name);
|
||||
std::string GetGUID(const char* name);
|
||||
|
||||
///! do configure step
|
||||
virtual void Configure();
|
||||
|
||||
/** Append the subdirectory for the given configuration. */
|
||||
virtual void AppendDirectoryForConfig(const char* prefix,
|
||||
const char* config,
|
||||
|
|
|
@ -68,6 +68,27 @@ void cmLocalVisualStudio7Generator::AddHelperCommands()
|
|||
lang.insert("DEF");
|
||||
lang.insert("Fortran");
|
||||
this->CreateCustomTargetsAndCommands(lang);
|
||||
|
||||
// Now create GUIDs for targets
|
||||
cmTargets &tgts = this->Makefile->GetTargets();
|
||||
|
||||
cmGlobalVisualStudio7Generator* gg =
|
||||
static_cast<cmGlobalVisualStudio7Generator *>(this->GlobalGenerator);
|
||||
for(cmTargets::iterator l = tgts.begin(); l != tgts.end(); l++)
|
||||
{
|
||||
const char* path = l->second.GetProperty("EXTERNAL_MSPROJECT");
|
||||
if(path)
|
||||
{
|
||||
this->ReadAndStoreExternalGUID(
|
||||
l->second.GetName(), path);
|
||||
}
|
||||
else
|
||||
{
|
||||
gg->CreateGUID(l->first.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
this->FixGlobalTargets();
|
||||
}
|
||||
|
||||
|
@ -2021,29 +2042,6 @@ void cmLocalVisualStudio7Generator::ReadAndStoreExternalGUID(
|
|||
}
|
||||
|
||||
|
||||
void cmLocalVisualStudio7Generator::ConfigureFinalPass()
|
||||
{
|
||||
cmLocalGenerator::ConfigureFinalPass();
|
||||
cmTargets &tgts = this->Makefile->GetTargets();
|
||||
|
||||
cmGlobalVisualStudio7Generator* gg =
|
||||
static_cast<cmGlobalVisualStudio7Generator *>(this->GlobalGenerator);
|
||||
for(cmTargets::iterator l = tgts.begin(); l != tgts.end(); l++)
|
||||
{
|
||||
const char* path = l->second.GetProperty("EXTERNAL_MSPROJECT");
|
||||
if(path)
|
||||
{
|
||||
this->ReadAndStoreExternalGUID(
|
||||
l->second.GetName(), path);
|
||||
}
|
||||
else
|
||||
{
|
||||
gg->CreateGUID(l->first.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
std::string cmLocalVisualStudio7Generator
|
||||
::GetTargetDirectory(cmTarget const& target) const
|
||||
|
|
|
@ -57,7 +57,6 @@ public:
|
|||
void SetVersion8() {this->Version = 8;}
|
||||
void SetVersion9() {this->Version = 9;}
|
||||
void SetPlatformName(const char* n) { this->PlatformName = n;}
|
||||
virtual void ConfigureFinalPass();
|
||||
void GetTargetObjectFileDirectories(cmTarget* target,
|
||||
std::vector<std::string>&
|
||||
dirs);
|
||||
|
|
Loading…
Reference in New Issue