[Cmake-commits] [cmake-commits] king committed cmTestGenerator.cxx 1.3 1.4

cmake-commits at cmake.org cmake-commits at cmake.org
Mon Aug 10 09:08:02 EDT 2009


Update of /cvsroot/CMake/CMake/Source
In directory public:/mounts/ram/cvs-serv31643/Source

Modified Files:
	cmTestGenerator.cxx 
Log Message:
Cleanup test property script code generation

We teach cmTestGenerator::GenerateScriptConfigs to use the general
cmLocalGenerator::EscapeForCMake method to write escaped test property
values into test scripts.  This eliminates the previous hand-coded
escaping implementation.


Index: cmTestGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmTestGenerator.cxx,v
retrieving revision 1.3
retrieving revision 1.4
diff -C 2 -d -r1.3 -r1.4
*** cmTestGenerator.cxx	16 Mar 2009 14:51:23 -0000	1.3
--- cmTestGenerator.cxx	10 Aug 2009 13:07:59 -0000	1.4
***************
*** 51,54 ****
--- 51,56 ----
      {
      cmTest* test = this->Test;
+     cmMakefile* mf = test->GetMakefile();
+     cmLocalGenerator* lg = mf->GetLocalGenerator();
      std::ostream& fout = os;
      cmPropertyMap::const_iterator pit;
***************
*** 59,92 ****
        for ( pit = mpit->begin(); pit != mpit->end(); ++ pit )
          {
!         fout << " " << pit->first.c_str() << " \"";
!         const char* value = pit->second.GetValue();
!         for ( ; *value; ++ value )
!           {
!           switch ( *value )
!             {
!             case '\\':
!             case '"':
!             case ' ':
!             case '#':
!             case '(':
!             case ')':
!             case '$':
!             case '^':
!               fout << "\\" << *value;
!               break;
!             case '\t':
!               fout << "\\t";
!               break;
!             case '\n':
!               fout << "\\n";
!               break;
!             case '\r':
!               fout << "\\r";
!               break;
!             default:
!               fout << *value;
!             }
!           }
!         fout << "\"";
          }
        fout << ")" << std::endl;
--- 61,66 ----
        for ( pit = mpit->begin(); pit != mpit->end(); ++ pit )
          {
!         fout << " " << pit->first
!              << " " << lg->EscapeForCMake(pit->second.GetValue());
          }
        fout << ")" << std::endl;



More information about the Cmake-commits mailing list