[Cmake-commits] CMake branch, next, updated. v2.8.7-2471-ge09c129

Brad King brad.king at kitware.com
Mon Feb 6 09:44:05 EST 2012


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  e09c1297d8777207dacbb2c35e5b17eec9212452 (commit)
       via  c8ef6430e09c063b74708ef0cd28f533c15fd8bd (commit)
      from  17ea393aa14be17eb7de9145bffbdfd332cda4a0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e09c1297d8777207dacbb2c35e5b17eec9212452
commit e09c1297d8777207dacbb2c35e5b17eec9212452
Merge: 17ea393 c8ef643
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Feb 6 09:43:56 2012 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Feb 6 09:43:56 2012 -0500

    Merge topic 'warn-funny-path-names' into next
    
    c8ef643 Allow directory names containing '=' and warn if necessary (#12934)


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c8ef6430e09c063b74708ef0cd28f533c15fd8bd
commit c8ef6430e09c063b74708ef0cd28f533c15fd8bd
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Feb 6 09:40:42 2012 -0500
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Feb 6 09:40:42 2012 -0500

    Allow directory names containing '=' and warn if necessary (#12934)
    
    The approach taken by commit 8704525f (Reject directory names containing
    '=', 2011-01-14) was perhaps too heavy-handed for avoiding the obscure
    cases when '=' in the path fails due to limitations of Make syntax.
    Only two CMake tests:
    
      LinkDirectory
      OutOfSource
    
    fail when the path contains '=' and they cover obscure cases.  Instead
    of rejecting such paths outright just warn when the problem may occur.

diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index ff48009..b10e959 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -561,6 +561,21 @@ cmLocalUnixMakefileGenerator3
     space = " ";
     }
 
+  // Warn about paths not supported by Make tools.
+  std::string::size_type pos = tgt.find_first_of("=");
+  if(pos != std::string::npos)
+    {
+    cmOStringStream m;
+    m <<
+      "Make rule for\n"
+      "  " << tgt << "\n"
+      "has '=' on left hand side.  "
+      "The make tool may not support this.";
+    cmListFileBacktrace bt;
+    this->GlobalGenerator->GetCMakeInstance()
+      ->IssueMessage(cmake::WARNING, m.str(), bt);
+    }
+
   // Mark the rule as symbolic if requested.
   if(symbolic)
     {
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index bc3245e..1b49837 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -1946,32 +1946,8 @@ int cmake::Configure()
 
 }
 
-bool cmake::RejectUnsupportedPaths(const char* desc, std::string const& path)
-{
-  // Some characters are not well-supported by native build systems.
-  std::string::size_type pos = path.find_first_of("=");
-  if(pos == std::string::npos)
-    {
-    return false;
-    }
-  cmOStringStream e;
-  e << "The path to the " << desc << " directory:\n"
-    << "  " << path << "\n"
-    << "contains unsupported character '" << path[pos] << "'.\n"
-    << "Please use a different " << desc << " directory name.";
-  cmListFileBacktrace bt;
-  this->IssueMessage(cmake::FATAL_ERROR, e.str(), bt);
-  return true;
-}
-
 int cmake::ActualConfigure()
 {
-  if(this->RejectUnsupportedPaths("source", this->cmHomeDirectory) ||
-     this->RejectUnsupportedPaths("binary", this->HomeOutputDirectory))
-    {
-    return 1;
-    }
-
   // Construct right now our path conversion table before it's too late:
   this->UpdateConversionPathTable();
   this->CleanupCommandsAndMacros();
diff --git a/Source/cmake.h b/Source/cmake.h
index 6744ca1..435d38b 100644
--- a/Source/cmake.h
+++ b/Source/cmake.h
@@ -435,8 +435,6 @@ protected:
 
   ///! Find the full path to one of the cmake programs like ctest, cpack, etc.
   std::string FindCMakeProgram(const char* name) const;
-
-  bool RejectUnsupportedPaths(const char* desc, std::string const& path);
 private:
   cmake(const cmake&);  // Not implemented.
   void operator=(const cmake&);  // Not implemented.

-----------------------------------------------------------------------

Summary of changes:
 Source/cmLocalUnixMakefileGenerator3.cxx |   15 +++++++++++++++
 Source/cmake.cxx                         |   24 ------------------------
 Source/cmake.h                           |    2 --
 3 files changed, 15 insertions(+), 26 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list