diff options
Diffstat (limited to 'Source/cmGeneratorTarget.h')
-rw-r--r-- | Source/cmGeneratorTarget.h | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h index 799110c..258c556 100644 --- a/Source/cmGeneratorTarget.h +++ b/Source/cmGeneratorTarget.h @@ -82,6 +82,8 @@ public: void GetExpectedXamlSources(std::set<std::string>&, const std::string& config) const; + std::set<cmLinkItem>const& GetUtilityItems() const; + void ComputeObjectMapping(); const char* GetFeature(const std::string& feature, @@ -214,6 +216,8 @@ public: cmOptionalLinkImplementation& impl, const cmGeneratorTarget* head) const; + cmGeneratorTarget* FindTargetToLink(std::string const& name) const; + // Compute the set of languages compiled by the target. This is // computed every time it is called because the languages can change // when source file properties are changed and we do not have enough @@ -386,6 +390,20 @@ public: ///! Return the preferred linker language for this target std::string GetLinkerLanguage(const std::string& config = "") const; + /** Does this target have a GNU implib to convert to MS format? */ + bool HasImplibGNUtoMS() const; + + /** Convert the given GNU import library name (.dll.a) to a name with a new + extension (.lib or ${CMAKE_IMPORT_LIBRARY_SUFFIX}). */ + bool GetImplibGNUtoMS(std::string const& gnuName, std::string& out, + const char* newExt = 0) const; + + /** Return whether or not the target has a DLL import library. */ + bool HasImportLibrary() const; + + /** Get a build-tree directory in which to place target support files. */ + std::string GetSupportDirectory() const; + struct SourceFileFlags GetTargetSourceFileFlags(const cmSourceFile* sf) const; @@ -473,7 +491,7 @@ private: cmGeneratorTarget(cmGeneratorTarget const&); void operator=(cmGeneratorTarget const&); - struct LinkImplClosure: public std::vector<cmTarget const*> + struct LinkImplClosure: public std::vector<cmGeneratorTarget const*> { LinkImplClosure(): Done(false) {} bool Done; @@ -537,6 +555,7 @@ private: typedef std::pair<std::string, bool> OutputNameKey; typedef std::map<OutputNameKey, std::string> OutputNameMapType; mutable OutputNameMapType OutputNameMap; + mutable std::set<cmLinkItem> UtilityItems; mutable bool PolicyWarnedCMP0022; mutable bool DebugIncludesDone; mutable bool DebugCompileOptionsDone; @@ -544,13 +563,14 @@ private: mutable bool DebugCompileDefinitionsDone; mutable bool DebugSourcesDone; mutable bool LinkImplementationLanguageIsContextDependent; + mutable bool UtilityItemsDone; bool ComputePDBOutputDir(const std::string& kind, const std::string& config, std::string& out) const; public: - std::vector<cmTarget const*> const& - GetLinkImplementationClosure(const std::string& config) const; + const std::vector<const cmGeneratorTarget*>& + GetLinkImplementationClosure(const std::string& config) const; mutable std::map<std::string, std::string> MaxLanguageStandards; std::map<std::string, std::string> const& |