فهرست منبع

Add GetLocal on cmMakefile and on local builds do not perform tests

Andy Cedilnik 23 سال پیش
والد
کامیت
202600f95a
4فایلهای تغییر یافته به همراه24 افزوده شده و 3 حذف شده
  1. 5 0
      Source/cmMakefile.cxx
  2. 3 0
      Source/cmMakefile.h
  3. 9 2
      Source/cmTryCompileCommand.cxx
  4. 7 1
      Source/cmTryRunCommand.cxx

+ 5 - 0
Source/cmMakefile.cxx

@@ -1421,3 +1421,8 @@ cmCacheManager *cmMakefile::GetCacheManager() const
 {
   return m_LocalGenerator->GetGlobalGenerator()->GetCMakeInstance()->GetCacheManager();
 }
+
+bool cmMakefile::GetLocal() const
+{
+  return m_LocalGenerator->GetGlobalGenerator()->GetCMakeInstance()->GetLocal();
+}

+ 3 - 0
Source/cmMakefile.h

@@ -515,6 +515,9 @@ public:
    */
   cmCacheManager *GetCacheManager() const;
 
+  //! Determine wether this is a local or global build.
+  bool GetLocal() const;
+
 protected:
   // add link libraries and directories to the target
   void AddGlobalLinkInformation(const char* name, cmTarget& target);

+ 9 - 2
Source/cmTryCompileCommand.cxx

@@ -94,7 +94,7 @@ int cmTryCompileCommand::CoreTryCompileCode(
       break;
       }
     }
-  
+
   // compute the binary dir when TRY_COMPILE is called with a src file
   // signature
   if (srcFileSignature)
@@ -170,7 +170,9 @@ int cmTryCompileCommand::CoreTryCompileCode(
                            projectName, targetName, &cmakeFlags, &output);
   
   // set the result var to the return value to indicate success or failure
-  mf->AddDefinition(argv[0].c_str(), (res == 0 ? "TRUE" : "FALSE"));
+  mf->AddCacheDefinition(argv[0].c_str(), (res == 0 ? "TRUE" : "FALSE"),
+                         "Result of TRY_COMPILE",
+                         cmCacheManager::INTERNAL);
 
   if ( outputVariable.size() > 0 )
     {
@@ -208,6 +210,11 @@ bool cmTryCompileCommand::InitialPass(std::vector<std::string> const& argv)
     return false;
     }
 
+  if ( m_Makefile->GetLocal() )
+    {
+    return true;
+    }
+
   cmTryCompileCommand::CoreTryCompileCode(m_Makefile,argv,true);
   
   return true;

+ 7 - 1
Source/cmTryRunCommand.cxx

@@ -26,6 +26,11 @@ bool cmTryRunCommand::InitialPass(std::vector<std::string> const& argv)
     return false;
     }
 
+  if ( m_Makefile->GetLocal() )
+    {
+    return true;
+    }
+
   // build an arg list for TryCompile and extract the runArgs
   std::vector<std::string> tryCompile;
   std::string runArgs;
@@ -98,7 +103,8 @@ bool cmTryRunCommand::InitialPass(std::vector<std::string> const& argv)
       // set the run var
       char retChar[1000];
       sprintf(retChar,"%i",retVal);
-      m_Makefile->AddDefinition(argv[0].c_str(), retChar);
+      m_Makefile->AddCacheDefinition(argv[0].c_str(), retChar,
+                                      "Result of TRY_RUN", cmCacheManager::INTERNAL);
       }
     }