|
|
@@ -3494,6 +3494,76 @@ bool cmTarget::GetImplibGNUtoMS(std::string const& gnuName,
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
+//----------------------------------------------------------------------------
|
|
|
+void cmTarget::GenerateTargetManifest(const char* config)
|
|
|
+{
|
|
|
+ cmMakefile* mf = this->Makefile;
|
|
|
+ cmLocalGenerator* lg = mf->GetLocalGenerator();
|
|
|
+ cmGlobalGenerator* gg = lg->GetGlobalGenerator();
|
|
|
+
|
|
|
+ // Get the names.
|
|
|
+ std::string name;
|
|
|
+ std::string soName;
|
|
|
+ std::string realName;
|
|
|
+ std::string impName;
|
|
|
+ std::string pdbName;
|
|
|
+ if(this->GetType() == cmTarget::EXECUTABLE)
|
|
|
+ {
|
|
|
+ this->GetExecutableNames(name, realName, impName, pdbName, config);
|
|
|
+ }
|
|
|
+ else if(this->GetType() == cmTarget::STATIC_LIBRARY ||
|
|
|
+ this->GetType() == cmTarget::SHARED_LIBRARY ||
|
|
|
+ this->GetType() == cmTarget::MODULE_LIBRARY)
|
|
|
+ {
|
|
|
+ this->GetLibraryNames(name, soName, realName, impName, pdbName, config);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ // Get the directory.
|
|
|
+ std::string dir = this->GetDirectory(config, false);
|
|
|
+
|
|
|
+ // Add each name.
|
|
|
+ std::string f;
|
|
|
+ if(!name.empty())
|
|
|
+ {
|
|
|
+ f = dir;
|
|
|
+ f += "/";
|
|
|
+ f += name;
|
|
|
+ gg->AddToManifest(config? config:"", f);
|
|
|
+ }
|
|
|
+ if(!soName.empty())
|
|
|
+ {
|
|
|
+ f = dir;
|
|
|
+ f += "/";
|
|
|
+ f += soName;
|
|
|
+ gg->AddToManifest(config? config:"", f);
|
|
|
+ }
|
|
|
+ if(!realName.empty())
|
|
|
+ {
|
|
|
+ f = dir;
|
|
|
+ f += "/";
|
|
|
+ f += realName;
|
|
|
+ gg->AddToManifest(config? config:"", f);
|
|
|
+ }
|
|
|
+ if(!pdbName.empty())
|
|
|
+ {
|
|
|
+ f = dir;
|
|
|
+ f += "/";
|
|
|
+ f += pdbName;
|
|
|
+ gg->AddToManifest(config? config:"", f);
|
|
|
+ }
|
|
|
+ if(!impName.empty())
|
|
|
+ {
|
|
|
+ f = this->GetDirectory(config, true);
|
|
|
+ f += "/";
|
|
|
+ f += impName;
|
|
|
+ gg->AddToManifest(config? config:"", f);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
//----------------------------------------------------------------------------
|
|
|
void cmTarget::SetPropertyDefault(const char* property,
|
|
|
const char* default_value)
|