ENH: Added <config>_OUTPUT_NAME target property to allow the output name to be set on a per-configuration basis.
This commit is contained in:
parent
0ec43f7abd
commit
392137b6d7
|
@ -69,7 +69,9 @@ public:
|
|||
"(for SHARED library targets). "
|
||||
"OUTPUT_NAME sets the real name of a target when it is built and "
|
||||
"can be used to help create two targets of the same name even though "
|
||||
"CMake requires unique logical target names. "
|
||||
"CMake requires unique logical target names. There is also a "
|
||||
"<CONFIG>_OUTPUT_NAME that can set the output name on a "
|
||||
"per-configuration basis. "
|
||||
"<CONFIG>_POSTFIX sets a postfix for the real name of the target "
|
||||
"when it is built under the configuration named by <CONFIG> "
|
||||
"(in upper-case, such as \"DEBUG_POSTFIX\"). The value of "
|
||||
|
|
|
@ -1199,9 +1199,20 @@ void cmTarget::GetFullNameInternal(TargetType type,
|
|||
outPrefix = targetPrefix?targetPrefix:"";
|
||||
|
||||
// Append the target name or property-specified name.
|
||||
if(const char* outname = this->GetProperty("OUTPUT_NAME"))
|
||||
const char* outName = 0;
|
||||
if(config && *config)
|
||||
{
|
||||
outBase = outname;
|
||||
std::string configProp = cmSystemTools::UpperCase(config);
|
||||
configProp += "_OUTPUT_NAME";
|
||||
outName = this->GetProperty(configProp.c_str());
|
||||
}
|
||||
if(!outName)
|
||||
{
|
||||
outName = this->GetProperty("OUTPUT_NAME");
|
||||
}
|
||||
if(outName)
|
||||
{
|
||||
outBase = outName;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue