diff options
Diffstat (limited to 'Source/cmGlobalCommonGenerator.h')
-rw-r--r-- | Source/cmGlobalCommonGenerator.h | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/Source/cmGlobalCommonGenerator.h b/Source/cmGlobalCommonGenerator.h index f2ad059de..7d16daca2 100644 --- a/Source/cmGlobalCommonGenerator.h +++ b/Source/cmGlobalCommonGenerator.h @@ -3,11 +3,17 @@ #ifndef cmGlobalCommonGenerator_h #define cmGlobalCommonGenerator_h -#include "cmConfigure.h" +#include "cmConfigure.h" // IWYU pragma: keep + +#include <map> +#include <string> +#include <vector> #include "cmGlobalGenerator.h" class cmake; +class cmGeneratorTarget; +class cmLocalGenerator; /** \class cmGlobalCommonGenerator * \brief Common infrastructure for Makefile and Ninja global generators. @@ -16,7 +22,25 @@ class cmGlobalCommonGenerator : public cmGlobalGenerator { public: cmGlobalCommonGenerator(cmake* cm); - ~cmGlobalCommonGenerator() CM_OVERRIDE; + ~cmGlobalCommonGenerator() override; + + struct DirectoryTarget + { + cmLocalGenerator* LG = nullptr; + struct Target + { + cmGeneratorTarget const* GT = nullptr; + bool ExcludeFromAll = false; + }; + std::vector<Target> Targets; + struct Dir + { + std::string Path; + bool ExcludeFromAll = false; + }; + std::vector<Dir> Children; + }; + std::map<std::string, DirectoryTarget> ComputeDirectoryTargets() const; }; #endif |