Commit 4db08807 authored by Tobias Hunger's avatar Tobias Hunger Committed by Brad King
Browse files

CMake: Report whether generators support platforms

parent 43a68a6d
......@@ -41,6 +41,9 @@ public:
/** Determine whether or not this generator supports toolsets */
virtual bool SupportsToolset() const = 0;
/** Determine whether or not this generator supports platforms */
virtual bool SupportsPlatform() const = 0;
};
template <class T>
......@@ -71,6 +74,9 @@ public:
/** Determine whether or not this generator supports toolsets */
bool SupportsToolset() const CM_OVERRIDE { return T::SupportsToolset(); }
/** Determine whether or not this generator supports platforms */
bool SupportsPlatform() const CM_OVERRIDE { return T::SupportsPlatform(); }
};
#endif
......@@ -51,6 +51,12 @@ public:
*/
static bool SupportsToolset() { return false; }
/**
* Utilized by the generator factory to determine if this generator
* supports platforms.
*/
static bool SupportsPlatform() { return false; }
/**
* Try to determine system information such as shared library
* extension, pthreads, byte order etc.
......
......@@ -80,6 +80,12 @@ public:
*/
static bool SupportsToolset() { return false; }
/**
* Utilized by the generator factory to determine if this generator
* supports platforms.
*/
static bool SupportsPlatform() { return false; }
/**
* Write a build statement to @a os with the @a comment using
* the @a rule the list of @a outputs files and inputs.
......
......@@ -75,6 +75,12 @@ public:
*/
static bool SupportsToolset() { return false; }
/**
* Utilized by the generator factory to determine if this generator
* supports platforms.
*/
static bool SupportsPlatform() { return false; }
/** Get the documentation entry for this generator. */
static void GetDocumentation(cmDocumentationEntry& entry);
......
......@@ -80,6 +80,7 @@ public:
}
bool SupportsToolset() const CM_OVERRIDE { return true; }
bool SupportsPlatform() const CM_OVERRIDE { return true; }
};
cmGlobalGeneratorFactory* cmGlobalVisualStudio10Generator::NewFactory()
......
......@@ -92,6 +92,7 @@ public:
}
bool SupportsToolset() const CM_OVERRIDE { return true; }
bool SupportsPlatform() const CM_OVERRIDE { return true; }
};
cmGlobalGeneratorFactory* cmGlobalVisualStudio11Generator::NewFactory()
......
......@@ -74,6 +74,7 @@ public:
}
bool SupportsToolset() const CM_OVERRIDE { return true; }
bool SupportsPlatform() const CM_OVERRIDE { return true; }
};
cmGlobalGeneratorFactory* cmGlobalVisualStudio12Generator::NewFactory()
......
......@@ -74,6 +74,7 @@ public:
}
bool SupportsToolset() const CM_OVERRIDE { return true; }
bool SupportsPlatform() const CM_OVERRIDE { return true; }
};
cmGlobalGeneratorFactory* cmGlobalVisualStudio14Generator::NewFactory()
......
......@@ -47,6 +47,12 @@ public:
*/
static bool SupportsToolset() { return false; }
/**
* Utilized by the generator factory to determine if this generator
* supports platforms.
*/
static bool SupportsPlatform() { return false; }
/**
* Try to determine system information such as shared library
* extension, pthreads, byte order etc.
......
......@@ -83,6 +83,7 @@ public:
}
bool SupportsToolset() const CM_OVERRIDE { return false; }
bool SupportsPlatform() const CM_OVERRIDE { return true; }
};
cmGlobalGeneratorFactory* cmGlobalVisualStudio8Generator::NewFactory()
......
......@@ -86,6 +86,7 @@ public:
}
bool SupportsToolset() const CM_OVERRIDE { return false; }
bool SupportsPlatform() const CM_OVERRIDE { return true; }
};
cmGlobalGeneratorFactory* cmGlobalVisualStudio9Generator::NewFactory()
......
......@@ -122,6 +122,7 @@ public:
}
bool SupportsToolset() const CM_OVERRIDE { return true; }
bool SupportsPlatform() const CM_OVERRIDE { return false; }
};
cmGlobalXCodeGenerator::cmGlobalXCodeGenerator(cmake* cm,
......
......@@ -853,6 +853,7 @@ void cmake::GetRegisteredGenerators(std::vector<GeneratorInfo>& generators)
for (size_t j = 0; j < names.size(); ++j) {
GeneratorInfo info;
info.supportsToolset = (*i)->SupportsToolset();
info.supportsPlatform = (*i)->SupportsPlatform();
info.name = names[j];
generators.push_back(info);
}
......@@ -865,6 +866,7 @@ void cmake::GetRegisteredGenerators(std::vector<GeneratorInfo>& generators)
GeneratorInfo info;
info.name = i->first;
info.supportsToolset = false;
info.supportsPlatform = false;
generators.push_back(info);
}
}
......
......@@ -104,6 +104,7 @@ public:
{
std::string name;
bool supportsToolset;
bool supportsPlatform;
};
typedef std::map<std::string, cmInstalledFile> InstalledFilesMap;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment