ENH: Added support for getting a target's location on a per-configuration basis (ex. DEBUG_LOCATION). This does not fix but helps with bug#3250.
This commit is contained in:
parent
21f3a18bee
commit
fdcc888c56
|
@ -58,10 +58,17 @@ public:
|
|||
"will be set to \"NOTFOUND\". Use SET_TARGET_PROPERTIES to set "
|
||||
"property values. Properties are usually used to control how "
|
||||
"a target is built.\n"
|
||||
"The read-only property \"<CONFIG>_LOCATION\" provides the full "
|
||||
"path to the file on disk that will be created for the target when "
|
||||
"building under configuration <CONFIG> "
|
||||
"(in upper-case, such as \"DEBUG_LOCATION\"). "
|
||||
"The read-only property \"LOCATION\" specifies "
|
||||
"the full path to the file on disk that will be created for the "
|
||||
"target. This is very useful for executable targets to get "
|
||||
"the path to the executable file for use in a custom command. "
|
||||
"target. The path may contain a build-system-specific portion that "
|
||||
"is replaced at build time with the configuration getting built "
|
||||
"(such as \"$(ConfigurationName)\" in VS). "
|
||||
"This is very useful for executable targets to get "
|
||||
"the path to the executable file for use in a custom command.\n"
|
||||
"The read-only property \"TYPE\" returns which type the specified "
|
||||
"target has (EXECUTABLE, STATIC_LIBRARY, SHARED_LIBRARY, "
|
||||
"MODULE_LIBRARY, UTILITY, INSTALL_FILES or INSTALL_PROGRAMS). "
|
||||
|
|
|
@ -907,7 +907,15 @@ const char *cmTarget::GetProperty(const char* prop)
|
|||
// variable in the location.
|
||||
this->SetProperty("LOCATION", this->GetLocation(0));
|
||||
}
|
||||
|
||||
|
||||
// Per-configuration location can be computed.
|
||||
int len = static_cast<int>(strlen(prop));
|
||||
if(len > 9 && strcmp(prop+len-9, "_LOCATION") == 0)
|
||||
{
|
||||
std::string configName(prop, len-9);
|
||||
this->SetProperty(prop, this->GetLocation(configName.c_str()));
|
||||
}
|
||||
|
||||
// the type property returns what type the target is
|
||||
if (!strcmp(prop,"TYPE"))
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue