diff options
-rw-r--r-- | Source/cmGeneratorTarget.cxx | 9 | ||||
-rw-r--r-- | Source/cmGeneratorTarget.h | 2 |
2 files changed, 11 insertions, 0 deletions
diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx index 30aa99b749..5e352b2957 100644 --- a/Source/cmGeneratorTarget.cxx +++ b/Source/cmGeneratorTarget.cxx @@ -8860,6 +8860,15 @@ std::string cmGeneratorTarget::GenerateHeaderSetVerificationFile( return filename; } +bool cmGeneratorTarget::HaveFortranSources(std::string const& config) const +{ + auto sources = cmGeneratorTarget::GetSourceFiles(config); + return std::any_of(sources.begin(), sources.end(), + [](BT<cmSourceFile*> const& sf) -> bool { + return sf.Value->GetLanguage() == "Fortran"_s; + }); +} + bool cmGeneratorTarget::HaveCxx20ModuleSources() const { auto const& fs_names = this->Target->GetAllFileSetNames(); diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h index dd10c6482f..afd9da4330 100644 --- a/Source/cmGeneratorTarget.h +++ b/Source/cmGeneratorTarget.h @@ -1225,6 +1225,8 @@ public: cmGeneratorTarget const* t2) const; }; + bool HaveFortranSources(std::string const& config) const; + // C++20 module support queries. /** |