瀏覽代碼

As in the Eclipse generator: don't insert the edit_cache target if it is ccmake, since this doesn't work in the output tab of the IDE

Alexander Neundorf 16 年之前
父節點
當前提交
10f39d8c80
共有 1 個文件被更改,包括 18 次插入1 次删除
  1. 18 1
      Source/cmExtraCodeBlocksGenerator.cxx

+ 18 - 1
Source/cmExtraCodeBlocksGenerator.cxx

@@ -338,14 +338,31 @@ void cmExtraCodeBlocksGenerator
         switch(ti->second.GetType())
         {
           case cmTarget::GLOBAL_TARGET:
+            {
+            bool insertTarget = false;
             // Only add the global targets from CMAKE_BINARY_DIR, 
             // not from the subdirs
             if (strcmp(makefile->GetStartOutputDirectory(), 
                        makefile->GetHomeOutputDirectory())==0)
               {
+              insertTarget = true;
+              // only add the "edit_cache" target if it's not ccmake, because
+              // this will not work within the IDE
+              if (ti->first == "edit_cache")
+                {
+                if (strstr(makefile->GetRequiredDefinition
+                                       ("CMAKE_EDIT_COMMAND"), "ccmake")!=NULL)
+                  {
+                  insertTarget = false;
+                  }
+                }
+              }
+            if (insertTarget)
+              {
               this->AppendTarget(fout, ti->first.c_str(), 0, 
-                                 make.c_str(), makefile, compiler.c_str());
+                               make.c_str(), makefile, compiler.c_str());
               }
+            }
             break;
           case cmTarget::UTILITY:
             // Add all utility targets, except the Nightly/Continuous/