ENH: Deprecate export_library_dependencies
- Reference export() and install(EXPORT) - Fix to support OUTPUT_NAME in simple cases
This commit is contained in:
parent
cfd65e29da
commit
5e72a0d4e4
|
@ -80,8 +80,8 @@ void cmExportLibraryDependenciesCommand::ConstFinalPass() const
|
|||
|
||||
// Collect dependency information about all library targets built in
|
||||
// the project.
|
||||
const cmake* cm = this->Makefile->GetCMakeInstance();
|
||||
const cmGlobalGenerator* global = cm->GetGlobalGenerator();
|
||||
cmake* cm = this->Makefile->GetCMakeInstance();
|
||||
cmGlobalGenerator* global = cm->GetGlobalGenerator();
|
||||
const std::vector<cmLocalGenerator *>& locals = global->GetLocalGenerators();
|
||||
std::map<cmStdString, cmStdString> libDepsOld;
|
||||
std::map<cmStdString, cmStdString> libDepsNew;
|
||||
|
@ -137,9 +137,20 @@ void cmExportLibraryDependenciesCommand::ConstFinalPass() const
|
|||
ltValue = "optimized";
|
||||
break;
|
||||
}
|
||||
valueOld += li->first;
|
||||
std::string lib = li->first;
|
||||
if(cmTarget* libtgt = global->FindTarget(0, lib.c_str()))
|
||||
{
|
||||
// Handle simple output name changes. This command is
|
||||
// deprecated so we do not support full target name
|
||||
// translation (which requires per-configuration info).
|
||||
if(const char* outname = libtgt->GetProperty("OUTPUT_NAME"))
|
||||
{
|
||||
lib = outname;
|
||||
}
|
||||
}
|
||||
valueOld += lib;
|
||||
valueOld += ";";
|
||||
valueNew += li->first;
|
||||
valueNew += lib;
|
||||
valueNew += ";";
|
||||
|
||||
std::string& ltEntry = libTypes[ltVar];
|
||||
|
|
|
@ -59,8 +59,7 @@ public:
|
|||
*/
|
||||
virtual const char* GetTerseDocumentation()
|
||||
{
|
||||
return
|
||||
"Write out the dependency information for all targets of a project.";
|
||||
return "Deprecated. Use INSTALL(EXPORT) or EXPORT command.";
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -69,6 +68,14 @@ public:
|
|||
virtual const char* GetFullDocumentation()
|
||||
{
|
||||
return
|
||||
"This command generates an old-style library dependencies file. "
|
||||
"Projects requiring CMake 2.6 or later should not use the command. "
|
||||
"Use instead the install(EXPORT) command to help export targets "
|
||||
"from an installation tree and the export() command to export targets "
|
||||
"from a build tree.\n"
|
||||
"The old-style library dependencies file does not take into account "
|
||||
"per-configuration names of libraries or the LINK_INTERFACE_LIBRARIES "
|
||||
"target property.\n"
|
||||
" export_library_dependencies(<file> [APPEND])\n"
|
||||
"Create a file named <file> that can be included into a CMake listfile "
|
||||
"with the INCLUDE command. The file will contain a number of SET "
|
||||
|
@ -78,6 +85,12 @@ public:
|
|||
"specified, the SET commands will be appended to the given file "
|
||||
"instead of replacing it.";
|
||||
}
|
||||
|
||||
/** This command is kept for compatibility with older CMake versions. */
|
||||
virtual bool IsDiscouraged()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
cmTypeMacro(cmExportLibraryDependenciesCommand, cmCommand);
|
||||
|
||||
|
|
Loading…
Reference in New Issue