summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalGenerator.h
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2006-10-13 14:52:34 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2006-10-13 14:52:34 (GMT)
commit72b38e3aa7ba5fa4a70144e05de36bc99fda173a (patch)
tree744005aab47678a2a742267a01799a8f53dd0cf7 /Source/cmLocalGenerator.h
parent8883613cc022d0ae2c96d84adf79dd82b74df658 (diff)
downloadCMake-72b38e3aa7ba5fa4a70144e05de36bc99fda173a.zip
CMake-72b38e3aa7ba5fa4a70144e05de36bc99fda173a.tar.gz
CMake-72b38e3aa7ba5fa4a70144e05de36bc99fda173a.tar.bz2
ENH: merge changes from the main tree to the 2.4 branch
Diffstat (limited to 'Source/cmLocalGenerator.h')
-rw-r--r--Source/cmLocalGenerator.h38
1 files changed, 21 insertions, 17 deletions
diff --git a/Source/cmLocalGenerator.h b/Source/cmLocalGenerator.h
index 49bae5b..53b4220 100644
--- a/Source/cmLocalGenerator.h
+++ b/Source/cmLocalGenerator.h
@@ -170,7 +170,11 @@ public:
std::vector<cmStdString>* fullPathLibs=0);
/** Get the include flags for the current makefile and language. */
- void GetIncludeDirectories(std::vector<std::string>& dirs);
+ void GetIncludeDirectories(std::vector<std::string>& dirs,
+ bool filter_system_dirs = true);
+
+ /** Compute the language used to compile the given source file. */
+ const char* GetSourceFileLanguage(const cmSourceFile& source);
// Create a struct to hold the varibles passed into
// ExpandRuleVariables
@@ -178,18 +182,7 @@ public:
{
RuleVariables()
{
- this->Language= 0;
- this->Objects= 0;
- this->Target= 0;
- this->LinkLibraries= 0;
- this->Source= 0;
- this->Object= 0;
- this->ObjectDir= 0;
- this->Flags= 0;
- this->ObjectsQuoted= 0;
- this->TargetSOName= 0;
- this->TargetInstallNameDir = 0;
- this->LinkFlags= 0;
+ memset(this, 0, sizeof(*this));
}
const char* TargetPDB;
const char* Language;
@@ -197,6 +190,8 @@ public:
const char* Target;
const char* LinkLibraries;
const char* Source;
+ const char* AssemblySource;
+ const char* PreprocessedSource;
const char* Object;
const char* ObjectDir;
const char* Flags;
@@ -207,11 +202,18 @@ public:
const char* LanguageCompileFlags;
};
+ /** Escape the given string to be used as a command line argument in
+ the native build system shell. Optionally allow the build
+ system to replace make variable references. Optionally adjust
+ escapes for the special case of passing to the native echo
+ command. */
+ std::string EscapeForShell(const char* str, bool makeVars = false,
+ bool forEcho = false);
+
+ /** Backwards-compatibility version of EscapeForShell. */
+ std::string EscapeForShellOldStyle(const char* str);
+
protected:
- /** Construct a script from the given list of command lines. */
- std::string ConstructScript(const cmCustomCommandLines& commandLines,
- const char* workingDirectory,
- const char* newline = "\n");
/** Construct a comment for a custom command. */
std::string ConstructComment(const cmCustomCommand& cc,
@@ -273,7 +275,9 @@ protected:
std::map<cmStdString, cmStdString> LanguageToIncludeFlags;
std::map<cmStdString, cmStdString> UniqueObjectNamesMap;
bool WindowsShell;
+ bool WindowsVSIDE;
bool ForceUnixPath;
+ bool MSYSShell;
bool UseRelativePaths;
bool IgnoreLibPrefix;
bool Configured;