summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2006-08-09 13:56:52 (GMT)
committerBrad King <brad.king@kitware.com>2006-08-09 13:56:52 (GMT)
commit8c94be3f1831eb18a6cf77d31986ec45d0fe4831 (patch)
tree629bc87c01a43ce843a86aec2ec7d68ebc01c544
parent3d6100d7c6117b24e02db83be59ff0b5a1442f23 (diff)
downloadCMake-8c94be3f1831eb18a6cf77d31986ec45d0fe4831.zip
CMake-8c94be3f1831eb18a6cf77d31986ec45d0fe4831.tar.gz
CMake-8c94be3f1831eb18a6cf77d31986ec45d0fe4831.tar.bz2
ENH: Added options CMAKE_SKIP_PREPROCESSED_SOURCE_RULES and CMAKE_SKIP_ASSEMBLY_SOURCE_RULES to allow projects to disable generation of .E and .S rules.
-rw-r--r--Source/cmLocalUnixMakefileGenerator3.cxx8
-rw-r--r--Source/cmLocalUnixMakefileGenerator3.h16
2 files changed, 21 insertions, 3 deletions
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index 4386ccc..94cbdf1 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -49,6 +49,8 @@ cmLocalUnixMakefileGenerator3::cmLocalUnixMakefileGenerator3()
this->UnixCD = true;
this->ForceVerboseMakefiles=false;
this->ColorMakefile = false;
+ this->SkipPreprocessedSourceRules = false;
+ this->SkipAssemblySourceRules = false;
}
//----------------------------------------------------------------------------
@@ -76,9 +78,13 @@ void cmLocalUnixMakefileGenerator3::Generate()
// Setup our configuration variables for this directory.
this->ConfigureOutputPaths();
- // Record whether color makefiles are enabled to avoid checking many
+ // Record whether some options are enabled to avoid checking many
// times later.
this->ColorMakefile = this->Makefile->IsOn("CMAKE_COLOR_MAKEFILE");
+ this->SkipPreprocessedSourceRules =
+ this->Makefile->IsOn("CMAKE_SKIP_PREPROCESSED_SOURCE_RULES");
+ this->SkipAssemblySourceRules =
+ this->Makefile->IsOn("CMAKE_SKIP_ASSEMBLY_SOURCE_RULES");
// Generate the rule files for each target.
cmTargets& targets = this->Makefile->GetTargets();
diff --git a/Source/cmLocalUnixMakefileGenerator3.h b/Source/cmLocalUnixMakefileGenerator3.h
index 7c6597a..89bb642 100644
--- a/Source/cmLocalUnixMakefileGenerator3.h
+++ b/Source/cmLocalUnixMakefileGenerator3.h
@@ -212,8 +212,14 @@ public:
/** Get whether to create rules to generate preprocessed and
assembly sources. This could be converted to a variable lookup
later. */
- bool GetCreatePreprocessedSourceRules() { return true; }
- bool GetCreateAssemblySourceRules() { return true; }
+ bool GetCreatePreprocessedSourceRules()
+ {
+ return !this->SkipPreprocessedSourceRules;
+ }
+ bool GetCreateAssemblySourceRules()
+ {
+ return !this->SkipAssemblySourceRules;
+ }
protected:
// these two methods just compute reasonable values for LibraryOutputPath
@@ -324,6 +330,12 @@ private:
beginning of generation to avoid many duplicate lookups. */
bool ColorMakefile;
+ /* Copy the setting of CMAKE_SKIP_PREPROCESSED_SOURCE_RULES and
+ CMAKE_SKIP_ASSEMBLY_SOURCE_RULES at the beginning of generation to
+ avoid many duplicate lookups. */
+ bool SkipPreprocessedSourceRules;
+ bool SkipAssemblySourceRules;
+
std::map<cmStdString,std::vector<cmTarget *> > LocalObjectFiles;
/* does the work for each target */