summaryrefslogtreecommitdiffstats
path: root/Source/cmGeneratorTarget.h
diff options
context:
space:
mode:
authorMichael Stürmer <michael.stuermer@schaeffler.com>2018-03-20 11:52:25 (GMT)
committerMichael Stürmer <michael.stuermer@schaeffler.com>2018-04-05 04:36:48 (GMT)
commit4c1f33961f784c47bcd93f4a5875c1c8f60873b7 (patch)
tree72887028005e13d16188ddf4fc1c3aa99a18d58d /Source/cmGeneratorTarget.h
parent6c517a9f8d73662f0d3555963d72abcb844585d3 (diff)
downloadCMake-4c1f33961f784c47bcd93f4a5875c1c8f60873b7.zip
CMake-4c1f33961f784c47bcd93f4a5875c1c8f60873b7.tar.gz
CMake-4c1f33961f784c47bcd93f4a5875c1c8f60873b7.tar.bz2
cmGeneratorTarget: add GetManagedType() and CheckManagedType() methods
Diffstat (limited to 'Source/cmGeneratorTarget.h')
-rw-r--r--Source/cmGeneratorTarget.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index f0c7cee..612d122 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -603,6 +603,19 @@ public:
/** Return whether this target is a CFBundle (plugin) on Apple. */
bool IsCFBundleOnApple() const;
+ /** Assembly types. The order of the values of this enum is relevant
+ because of smaller/larger comparison operations! */
+ enum ManagedType
+ {
+ Undefined = 0, // target is no lib or executable
+ Native, // target compiles to unmanaged binary.
+ Mixed, // target compiles to mixed (managed and unmanaged) binary.
+ Managed // target compiles to managed binary.
+ };
+
+ /** Return the type of assembly this target compiles to. */
+ ManagedType GetManagedType(const std::string& config) const;
+
struct SourceFileFlags GetTargetSourceFileFlags(
const cmSourceFile* sf) const;
@@ -747,10 +760,12 @@ private:
{
ImportInfo()
: NoSOName(false)
+ , Managed(Native)
, Multiplicity(0)
{
}
bool NoSOName;
+ ManagedType Managed;
unsigned int Multiplicity;
std::string Location;
std::string SOName;
@@ -844,6 +859,8 @@ private:
bool ComputePDBOutputDir(const std::string& kind, const std::string& config,
std::string& out) const;
+ ManagedType CheckManagedType(std::string const& propval) const;
+
public:
const std::vector<const cmGeneratorTarget*>& GetLinkImplementationClosure(
const std::string& config) const;