From b0656a2605fc9556736459b51a2ad94b65765578 Mon Sep 17 00:00:00 2001 From: Andy Cedilnik Date: Tue, 10 Dec 2002 17:43:34 -0500 Subject: [PATCH] Add support for comments on custom commands in visual studio 7 --- Source/cmLocalVisualStudio7Generator.cxx | 20 ++++++++++++++++---- Source/cmLocalVisualStudio7Generator.h | 1 + 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx index f049b4aa1..b9aad0e16 100644 --- a/Source/cmLocalVisualStudio7Generator.cxx +++ b/Source/cmLocalVisualStudio7Generator.cxx @@ -680,8 +680,10 @@ void cmLocalVisualStudio7Generator::WriteVCProjFile(std::ostream& fout, std::string totalCommandStr; totalCommandStr = this->CombineCommands(commands, totalCommand, source.c_str()); + const char* comment = totalCommand.m_Comment.c_str(); this->WriteCustomRule(fout, source.c_str(), totalCommandStr.c_str(), - totalCommand.m_Depends, + (*comment?comment:"Custom Rule"), + totalCommand.m_Depends, totalCommand.m_Outputs, compileFlags); } else if(compileFlags) @@ -718,6 +720,7 @@ void cmLocalVisualStudio7Generator::WriteVCProjFile(std::ostream& fout, void cmLocalVisualStudio7Generator::WriteCustomRule(std::ostream& fout, const char* source, const char* command, + const char* comment, const std::set& depends, const std::set& outputs, const char* compileFlags) @@ -740,6 +743,13 @@ void cmLocalVisualStudio7Generator::WriteCustomRule(std::ostream& fout, } fout << "\t\t\t\t\t::const_iterator it; + for ( it = outputs.begin(); it != outputs.end(); it ++ ) + { + fout << " " << *it; + } + fout << "\"\n" << "\t\t\t\t\tCommandLine=\"" << cmd << "\n\"\n" << "\t\t\t\t\tAdditionalDependencies=\""; // Write out the dependencies for the rule. @@ -798,9 +808,10 @@ void cmLocalVisualStudio7Generator::WriteVCProjEndGroup(std::ostream& fout) std::string -cmLocalVisualStudio7Generator::CombineCommands(const cmSourceGroup::Commands &commands, - cmSourceGroup::CommandFiles &totalCommand, - const char *source) +cmLocalVisualStudio7Generator::CombineCommands( + const cmSourceGroup::Commands &commands, + cmSourceGroup::CommandFiles &totalCommand, + const char *source) { // Loop through every custom command generating code from the @@ -818,6 +829,7 @@ cmLocalVisualStudio7Generator::CombineCommands(const cmSourceGroup::Commands &co totalCommandStr += c->second.m_Arguments; totalCommandStr += "\n"; totalCommand.Merge(c->second); + totalCommand.m_Comment = c->second.m_Comment.c_str(); } // Create a dummy file with the name of the source if it does // not exist diff --git a/Source/cmLocalVisualStudio7Generator.h b/Source/cmLocalVisualStudio7Generator.h index 8ab18b21c..8a74dcef9 100644 --- a/Source/cmLocalVisualStudio7Generator.h +++ b/Source/cmLocalVisualStudio7Generator.h @@ -111,6 +111,7 @@ private: void WriteCustomRule(std::ostream& fout, const char* source, const char* command, + const char* comment, const std::set& depends, const std::set& outputs, const char* extraFlags);