From 202600f95a2fe3c401e7c6ba64a3ce93e2143f88 Mon Sep 17 00:00:00 2001
From: Andy Cedilnik <andy.cedilnik@kitware.com>
Date: Fri, 20 Sep 2002 15:01:00 -0400
Subject: Add GetLocal on cmMakefile and on local builds do not perform tests

---
 Source/cmMakefile.cxx          |  5 +++++
 Source/cmMakefile.h            |  3 +++
 Source/cmTryCompileCommand.cxx | 11 +++++++++--
 Source/cmTryRunCommand.cxx     |  8 +++++++-
 4 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 92fe82e..1a79b97 100644
--- a/Source/cmMakefile.cxx
+++ b/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();
+}
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index 959677b..7664d9e 100644
--- a/Source/cmMakefile.h
+++ b/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);
diff --git a/Source/cmTryCompileCommand.cxx b/Source/cmTryCompileCommand.cxx
index cf54a09..4351ffb 100644
--- a/Source/cmTryCompileCommand.cxx
+++ b/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;
diff --git a/Source/cmTryRunCommand.cxx b/Source/cmTryRunCommand.cxx
index fc18db3..e590fdb 100644
--- a/Source/cmTryRunCommand.cxx
+++ b/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);
       }
     }
   
-- 
cgit v0.12