ENH: add an enabled language property
This commit is contained in:
parent
9a98928bd9
commit
5b5cd07d8d
|
@ -3375,6 +3375,11 @@ void cmake::DefineProperties(cmake *cm)
|
||||||
("IN_TRY_COMPILE", cmProperty::GLOBAL,
|
("IN_TRY_COMPILE", cmProperty::GLOBAL,
|
||||||
"Read-only property that is true during a try-compile configuration.",
|
"Read-only property that is true during a try-compile configuration.",
|
||||||
"True when building a project inside a TRY_COMPILE or TRY_RUN command.");
|
"True when building a project inside a TRY_COMPILE or TRY_RUN command.");
|
||||||
|
cm->DefineProperty
|
||||||
|
("ENABLED_LANGUAGES", cmProperty::GLOBAL,
|
||||||
|
"Read-only property that contains the list of currently "
|
||||||
|
"enabled languages",
|
||||||
|
"Set to list of currently enabled lanauges.");
|
||||||
|
|
||||||
// ================================================================
|
// ================================================================
|
||||||
// define variables as well
|
// define variables as well
|
||||||
|
@ -3590,6 +3595,24 @@ const char *cmake::GetProperty(const char* prop, cmProperty::ScopeType scope)
|
||||||
this->SetProperty("IN_TRY_COMPILE",
|
this->SetProperty("IN_TRY_COMPILE",
|
||||||
this->GetIsInTryCompile()? "1":"0");
|
this->GetIsInTryCompile()? "1":"0");
|
||||||
}
|
}
|
||||||
|
else if ( propname == "ENABLED_LANGUAGES" )
|
||||||
|
{
|
||||||
|
std::string lang;
|
||||||
|
if(this->GlobalGenerator)
|
||||||
|
{
|
||||||
|
std::vector<std::string> enLangs;
|
||||||
|
this->GlobalGenerator->GetEnabledLanguages(enLangs);
|
||||||
|
const char* sep = "";
|
||||||
|
for(std::vector<std::string>::iterator i = enLangs.begin();
|
||||||
|
i != enLangs.end(); ++i)
|
||||||
|
{
|
||||||
|
lang += sep;
|
||||||
|
sep = ";";
|
||||||
|
lang += *i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this->SetProperty("ENABLED_LANGUAGES", lang.c_str());
|
||||||
|
}
|
||||||
return this->Properties.GetPropertyValue(prop, scope, chain);
|
return this->Properties.GetPropertyValue(prop, scope, chain);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue