summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorKen Martin <ken.martin@kitware.com>2001-05-18 15:12:21 (GMT)
committerKen Martin <ken.martin@kitware.com>2001-05-18 15:12:21 (GMT)
commit16fc8d78f18a567e9f9b23605caa25865f5b30d6 (patch)
tree89fc5e950dd36d8cee6b95d9fbfbb5024b9e1d16 /Source
parent06429282f5072df67016b914a53aedc8406178d5 (diff)
downloadCMake-16fc8d78f18a567e9f9b23605caa25865f5b30d6.zip
CMake-16fc8d78f18a567e9f9b23605caa25865f5b30d6.tar.gz
CMake-16fc8d78f18a567e9f9b23605caa25865f5b30d6.tar.bz2
added SetLocal method
Diffstat (limited to 'Source')
-rw-r--r--Source/cmMSProjectGenerator.cxx4
-rw-r--r--Source/cmMSProjectGenerator.h9
-rw-r--r--Source/cmMakefileGenerator.h9
-rw-r--r--Source/cmUnixMakefileGenerator.cxx14
-rw-r--r--Source/cmUnixMakefileGenerator.h5
5 files changed, 36 insertions, 5 deletions
diff --git a/Source/cmMSProjectGenerator.cxx b/Source/cmMSProjectGenerator.cxx
index 5fb546a..9a6f4f1 100644
--- a/Source/cmMSProjectGenerator.cxx
+++ b/Source/cmMSProjectGenerator.cxx
@@ -69,3 +69,7 @@ cmMSProjectGenerator::~cmMSProjectGenerator()
delete m_DSWMakefile;
}
+void cmMSProjectGenerator::SetLocal(bool local)
+{
+ m_BuildDSW = !local;
+}
diff --git a/Source/cmMSProjectGenerator.h b/Source/cmMSProjectGenerator.h
index b80e03b..a4f568b 100644
--- a/Source/cmMSProjectGenerator.h
+++ b/Source/cmMSProjectGenerator.h
@@ -70,20 +70,21 @@ public:
*/
virtual void GenerateMakefile();
+ //! controls the DSW/DSP settings
+ virtual void SetLocal(bool);
+
/**
* Turn off the generation of a Microsoft Visual C++ DSW file.
* This causes only the dsp file to be created. This
* is used to run as a command line program from inside visual
* studio.
*/
- void BuildDSWOff()
- {m_BuildDSW = false;}
+ void BuildDSWOff() {m_BuildDSW = false;}
/**
* Turn on the generation of a Microsoft Visual C++ DSW file.
*/
- void BuildDSWOn()
- {m_BuildDSW = true;}
+ void BuildDSWOn() {m_BuildDSW = true;}
/**
* Retrieve a pointer to a cmDSWMakefile instance.
diff --git a/Source/cmMakefileGenerator.h b/Source/cmMakefileGenerator.h
index fec80a2..72832b2 100644
--- a/Source/cmMakefileGenerator.h
+++ b/Source/cmMakefileGenerator.h
@@ -67,6 +67,15 @@ public:
*/
virtual void GenerateMakefile() = 0;
+ /**
+ * The local setting indicates that the generator is producing a
+ * fully configured makefile in the current directory. In Microsoft
+ * terms it is producing a DSP file if local is true and a DSW file
+ * if local is false. On UNIX when local is false it skips the
+ * dependecy check and recurses the full tree building the structure
+ */
+ virtual void SetLocal(bool ) {};
+
protected:
cmMakefile* m_Makefile;
};
diff --git a/Source/cmUnixMakefileGenerator.cxx b/Source/cmUnixMakefileGenerator.cxx
index 71936d5..081a6c9 100644
--- a/Source/cmUnixMakefileGenerator.cxx
+++ b/Source/cmUnixMakefileGenerator.cxx
@@ -875,3 +875,17 @@ void cmUnixMakefileGenerator::OutputMakeRule(std::ostream& fout,
}
+
+void cmUnixMakefileGenerator::SetLocal (bool local)
+{
+ if (local)
+ {
+ m_CacheOnly = false;
+ m_Recurse = false;
+ }
+ else
+ {
+ m_CacheOnly = true;
+ m_Recurse = true;
+ }
+}
diff --git a/Source/cmUnixMakefileGenerator.h b/Source/cmUnixMakefileGenerator.h
index 0188d8a..8199017 100644
--- a/Source/cmUnixMakefileGenerator.h
+++ b/Source/cmUnixMakefileGenerator.h
@@ -55,7 +55,10 @@ class cmUnixMakefileGenerator : public cmMakefileGenerator
public:
///! Set cache only and recurse to false by default.
cmUnixMakefileGenerator();
-
+
+ //! just sets the Cache Only and Recurse flags
+ virtual void SetLocal(bool local);
+
/**
* If cache only is on.
* and only stub makefiles are generated, and no depends, for speed.