[Cmake-commits] [cmake-commits] alex committed cmExtraEclipseCDT4Generator.cxx 1.18 1.19

cmake-commits at cmake.org cmake-commits at cmake.org
Fri Jan 9 19:52:48 EST 2009


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

Modified Files:
	cmExtraEclipseCDT4Generator.cxx 
Log Message:
BUG: fix #8073: also show targets created using add_custom_targets()
-additionally also create the target/fast targets for Eclipse
-skip preinstall and install/local, they should be only rarely used

Alex


Index: cmExtraEclipseCDT4Generator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmExtraEclipseCDT4Generator.cxx,v
retrieving revision 1.18
retrieving revision 1.19
diff -C 2 -d -r1.18 -r1.19
*** cmExtraEclipseCDT4Generator.cxx	10 Jan 2009 00:08:40 -0000	1.18
--- cmExtraEclipseCDT4Generator.cxx	10 Jan 2009 00:52:46 -0000	1.19
***************
*** 41,44 ****
--- 41,74 ----
  #endif
    this->SupportedGlobalGenerators.push_back("Unix Makefiles");
+ 
+   // don't create these targets in Eclipse, they are too many and 
+   // should be only rarely used directly
+   this->TargetsToIgnore.insert("preinstall");
+   this->TargetsToIgnore.insert("install/local");
+   this->TargetsToIgnore.insert("ContinuousBuild");
+   this->TargetsToIgnore.insert("ContinuousConfigure");
+   this->TargetsToIgnore.insert("ContinuousCoverage");
+   this->TargetsToIgnore.insert("ContinuousMemCheck");
+   this->TargetsToIgnore.insert("ContinuousStart");
+   this->TargetsToIgnore.insert("ContinuousSubmit");
+   this->TargetsToIgnore.insert("ContinuousTest");
+   this->TargetsToIgnore.insert("ContinuousUpdate");
+   this->TargetsToIgnore.insert("ExperimentalBuild");
+   this->TargetsToIgnore.insert("ExperimentalConfigure");
+   this->TargetsToIgnore.insert("ExperimentalCoverage");
+   this->TargetsToIgnore.insert("ExperimentalMemCheck");
+   this->TargetsToIgnore.insert("ExperimentalStart");
+   this->TargetsToIgnore.insert("ExperimentalSubmit");
+   this->TargetsToIgnore.insert("ExperimentalTest");
+   this->TargetsToIgnore.insert("ExperimentalUpdate");
+   this->TargetsToIgnore.insert("NightlyBuild");
+   this->TargetsToIgnore.insert("NightlyConfigure");
+   this->TargetsToIgnore.insert("NightlyCoverage");
+   this->TargetsToIgnore.insert("NightlyMemCheck");
+   this->TargetsToIgnore.insert("NightlyMemoryCheck");
+   this->TargetsToIgnore.insert("NightlyStart");
+   this->TargetsToIgnore.insert("NightlySubmit");
+   this->TargetsToIgnore.insert("NightlyTest");
+   this->TargetsToIgnore.insert("NightlyUpdate");
  }
  
***************
*** 616,635 ****
      {
      emmited.insert(generator->GetAllTargetName());
!     cmExtraEclipseCDT4Generator::AppendTarget(fout,
!                                               generator->GetAllTargetName(),
!                                               make);
!     }
!   if (generator->GetPreinstallTargetName())
!     {
!     emmited.insert(generator->GetPreinstallTargetName());
!     cmExtraEclipseCDT4Generator
!     ::AppendTarget(fout, generator->GetPreinstallTargetName(), make);
      }
- 
    if (generator->GetCleanTargetName())
      {
      emmited.insert(generator->GetCleanTargetName());
!     cmExtraEclipseCDT4Generator
!     ::AppendTarget(fout, generator->GetCleanTargetName(), make);
      }
  
--- 646,655 ----
      {
      emmited.insert(generator->GetAllTargetName());
!     this->AppendTarget(fout, generator->GetAllTargetName(), make);
      }
    if (generator->GetCleanTargetName())
      {
      emmited.insert(generator->GetCleanTargetName());
!     this->AppendTarget(fout, generator->GetCleanTargetName(), make);
      }
  
***************
*** 644,688 ****
      for(cmTargets::const_iterator t = targets.begin(); t != targets.end(); ++t)
        {
        switch(t->second.GetType())
          {
          case cmTarget::UTILITY:
          case cmTarget::GLOBAL_TARGET:
            {
!           // only add these global targets
!           if (!( (t->first=="install")
!               || (t->first=="install/strip")
!               || (t->first=="test")
!               || (t->first=="Experimental")
!               || (t->first=="Nightly")
!               || (t->first=="edit_cache")
!               || (t->first=="package")
!               || (t->first=="package_source")
!               || (t->first=="rebuild_cache") ))
              {
!             break;
              }
            // add the edit_cache target only if it's not ccmake
            // otherwise ccmake will be executed in the log view of Eclipse,
            // which is no terminal, so curses don't work there, Alex
!           if (t->first=="edit_cache") 
              {
              if (strstr(mf->GetRequiredDefinition("CMAKE_EDIT_COMMAND"), 
                                                   "ccmake")!=NULL)
                {
!               break;
                }
              }
!           }
!         case cmTarget::EXECUTABLE:
!         case cmTarget::STATIC_LIBRARY:
!         case cmTarget::SHARED_LIBRARY:
!         case cmTarget::MODULE_LIBRARY:
!           {
!           if(emmited.find(t->first) == emmited.end())
              {
              emmited.insert(t->first);
!             cmExtraEclipseCDT4Generator::AppendTarget(fout, t->first, make);
              }
!            break;
            }
          // ignore these:
--- 664,716 ----
      for(cmTargets::const_iterator t = targets.begin(); t != targets.end(); ++t)
        {
+       bool addFastTarget = false;
        switch(t->second.GetType())
          {
+         case cmTarget::EXECUTABLE:
+         case cmTarget::STATIC_LIBRARY:
+         case cmTarget::SHARED_LIBRARY:
+         case cmTarget::MODULE_LIBRARY:
+            addFastTarget = true;
+            // no break here
          case cmTarget::UTILITY:
          case cmTarget::GLOBAL_TARGET:
            {
!           bool insertTarget = true;
!           if(insertTarget && (this->TargetsToIgnore.find(t->first) != 
!                                                   this->TargetsToIgnore.end()))
              {
!             insertTarget = false;
              }
+ 
+           if(insertTarget && (emmited.find(t->first) != emmited.end()))
+             {
+             insertTarget = false;
+             }
+ 
            // add the edit_cache target only if it's not ccmake
            // otherwise ccmake will be executed in the log view of Eclipse,
            // which is no terminal, so curses don't work there, Alex
!           if (insertTarget && (t->first=="edit_cache"))
              {
              if (strstr(mf->GetRequiredDefinition("CMAKE_EDIT_COMMAND"), 
                                                   "ccmake")!=NULL)
                {
!               insertTarget = false;
                }
              }
! 
!           if (insertTarget)
              {
              emmited.insert(t->first);
!             fprintf(stderr, "adding %s\n", t->first.c_str());
!             this->AppendTarget(fout, t->first, make);
!             if (addFastTarget || t->first=="install")
!               {
!               std::string fastTarget = t->first;
!               fastTarget = fastTarget + "/fast";
!               this->AppendTarget(fout, fastTarget, make);
!               }
              }
!           break;
            }
          // ignore these:



More information about the Cmake-commits mailing list