diff options
author | Michael Stürmer <michael.stuermer@schaeffler.com> | 2018-03-20 11:52:25 (GMT) |
---|---|---|
committer | Michael Stürmer <michael.stuermer@schaeffler.com> | 2018-04-05 04:36:48 (GMT) |
commit | 4c1f33961f784c47bcd93f4a5875c1c8f60873b7 (patch) | |
tree | 72887028005e13d16188ddf4fc1c3aa99a18d58d /Source/cmGeneratorTarget.h | |
parent | 6c517a9f8d73662f0d3555963d72abcb844585d3 (diff) | |
download | CMake-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.h | 17 |
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; |