summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalGenerator.h
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2004-09-22 18:42:05 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2004-09-22 18:42:05 (GMT)
commit692ba48c4e5762b370f2999e902b8bd677c77161 (patch)
tree0c9465d0e38a15bd0cb043f234b4e4ab0cee51a2 /Source/cmGlobalGenerator.h
parent597185754420db18d83b2c9e3b9f1e33675bd935 (diff)
downloadCMake-692ba48c4e5762b370f2999e902b8bd677c77161.zip
CMake-692ba48c4e5762b370f2999e902b8bd677c77161.tar.gz
CMake-692ba48c4e5762b370f2999e902b8bd677c77161.tar.bz2
ENH: major changes to support addition of languages from cmake modules directory.
Diffstat (limited to 'Source/cmGlobalGenerator.h')
-rw-r--r--Source/cmGlobalGenerator.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h
index ed31cc1..3b04620 100644
--- a/Source/cmGlobalGenerator.h
+++ b/Source/cmGlobalGenerator.h
@@ -72,7 +72,7 @@ public:
void SetLanguageEnabled(const char*, cmMakefile* mf);
bool GetLanguageEnabled(const char*);
void ClearEnabledLanguages();
-
+ void GetEnabledLanguages(std::vector<std::string>& lang);
/**
* Try to determine system infomation such as shared library
* extension, pthreads, byte order etc.
@@ -107,6 +107,14 @@ public:
bool GetForceUnixPaths() {return m_ForceUnixPaths;}
///! return the language for the given extension
const char* GetLanguageFromExtension(const char* ext);
+ ///! is an extension to be ignored
+ bool IgnoreFile(const char* ext);
+ ///! What is the preference for linkers and this language (None or Prefered)
+ const char* GetLinkerPreference(const char* lang);
+ ///! What is the output extension for a given language.
+ const char* GetLanguageOutputExtensionForLanguage(const char* lang);
+ ///! What is the output extension for a given source file extension.
+ const char* GetLanguageOutputExtensionFromExtension(const char* lang);
protected:
bool IsExcluded(cmLocalGenerator* root, cmLocalGenerator* gen);
void FindMakeProgram(cmMakefile*);
@@ -121,8 +129,13 @@ protected:
void RecursiveConfigure(cmLocalGenerator *lg, float start, float end);
private:
+ // If you add a new map here, make sure it is copied
+ // in EnableLanguagesFromGenerator
+ std::map<cmStdString, bool> m_IgnoreExtensions;
std::map<cmStdString, bool> m_LanguageEnabled;
+ std::map<cmStdString, cmStdString> m_LanguageToOutputExtension;
std::map<cmStdString, cmStdString> m_ExtensionToLanguage;
+ std::map<cmStdString, cmStdString> m_LanguageToLinkerPreference;
};
#endif