diff options
author | Brad King <brad.king@kitware.com> | 2006-08-09 13:56:52 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2006-08-09 13:56:52 (GMT) |
commit | 8c94be3f1831eb18a6cf77d31986ec45d0fe4831 (patch) | |
tree | 629bc87c01a43ce843a86aec2ec7d68ebc01c544 | |
parent | 3d6100d7c6117b24e02db83be59ff0b5a1442f23 (diff) | |
download | CMake-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.cxx | 8 | ||||
-rw-r--r-- | Source/cmLocalUnixMakefileGenerator3.h | 16 |
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 */ |