mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-16 22:37:30 +08:00
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:
@@ -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);
|
||||
|
Reference in New Issue
Block a user