summaryrefslogtreecommitdiffstats
path: root/Source/cmGeneratorTarget.h
diff options
context:
space:
mode:
authorBen Boeckel <ben.boeckel@kitware.com>2022-11-23 22:28:40 (GMT)
committerBen Boeckel <ben.boeckel@kitware.com>2022-11-23 23:52:36 (GMT)
commite37ff5694c043507f133dc774dc8eeaeb923c56b (patch)
tree62cba34fb63634c635730d40ff862f12ba87d7c0 /Source/cmGeneratorTarget.h
parent9e61fc3d6d71ebb1935fde39b011bf8167bd40d1 (diff)
downloadCMake-e37ff5694c043507f133dc774dc8eeaeb923c56b.zip
CMake-e37ff5694c043507f133dc774dc8eeaeb923c56b.tar.gz
CMake-e37ff5694c043507f133dc774dc8eeaeb923c56b.tar.bz2
cmGeneratorTarget: factor out fileset info and scanning detection
Diffstat (limited to 'Source/cmGeneratorTarget.h')
-rw-r--r--Source/cmGeneratorTarget.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index 858be36..96eda2c 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -26,6 +26,7 @@
enum class cmBuildStep;
class cmComputeLinkInformation;
class cmCustomCommand;
+class cmFileSet;
class cmGlobalGenerator;
class cmLocalGenerator;
class cmMakefile;
@@ -1233,4 +1234,17 @@ public:
bool NeedCxxModuleSupport(std::string const& lang,
std::string const& config) const;
bool NeedDyndep(std::string const& lang, std::string const& config) const;
+ cmFileSet const* GetFileSetForSource(std::string const& config,
+ cmSourceFile const* sf) const;
+ bool NeedDyndepForSource(std::string const& lang, std::string const& config,
+ cmSourceFile const* sf) const;
+
+private:
+ void BuildFileSetInfoCache(std::string const& config) const;
+ struct InfoByConfig
+ {
+ bool BuiltFileSetCache = false;
+ std::map<std::string, cmFileSet const*> FileSetCache;
+ };
+ mutable std::map<std::string, InfoByConfig> Configs;
};