summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Boeckel <ben.boeckel@kitware.com>2023-01-31 22:19:47 -0500
committerBen Boeckel <ben.boeckel@kitware.com>2023-01-31 22:23:36 -0500
commitd19648a9286d0943858ea0c5dc5e13d3b735b129 (patch)
tree0d5189085bf1be6aca3c7607cc93d079bf837925
parent245a89d8b68525a769bdd4f71c184aa97fa498b3 (diff)
downloadcmake-d19648a9286d0943858ea0c5dc5e13d3b735b129.tar.gz
cmGeneratorTarget: add a method to query if Fortran sources exist
-rw-r--r--Source/cmGeneratorTarget.cxx9
-rw-r--r--Source/cmGeneratorTarget.h2
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.
/**