mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-09-25 04:09:36 +03:00
cmGeneratorTarget: add HasLanguage() as wrapper for GetLanguages()
This commit is contained in:
@@ -5195,6 +5195,18 @@ void cmGeneratorTarget::GetLanguages(std::set<std::string>& languages,
|
||||
}
|
||||
}
|
||||
|
||||
bool cmGeneratorTarget::HasLanguage(std::string const& language,
|
||||
std::string const& config,
|
||||
bool exclusive) const
|
||||
{
|
||||
std::set<std::string> languages;
|
||||
this->GetLanguages(languages, config);
|
||||
// add linker language (if it is different from compiler languages)
|
||||
languages.insert(this->GetLinkerLanguage(config));
|
||||
return (languages.size() == 1 || !exclusive) &&
|
||||
languages.count(language) > 0;
|
||||
}
|
||||
|
||||
void cmGeneratorTarget::ComputeLinkImplementationLanguages(
|
||||
const std::string& config, cmOptionalLinkImplementation& impl) const
|
||||
{
|
||||
|
||||
@@ -364,6 +364,12 @@ public:
|
||||
void GetLanguages(std::set<std::string>& languages,
|
||||
std::string const& config) const;
|
||||
|
||||
// Evaluate if the target uses the given language for compilation
|
||||
// and/or linking. If 'exclusive' is true, 'language' is expected
|
||||
// to be the only language used for the target.
|
||||
bool HasLanguage(std::string const& language, std::string const& config,
|
||||
bool exclusive = true) const;
|
||||
|
||||
void GetObjectLibrariesCMP0026(
|
||||
std::vector<cmGeneratorTarget*>& objlibs) const;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user