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  e90e20c15cd6833133f973cec136e7326da35250 (commit)
       via  b8cc6f4eba0b7349de81a48aea18a43f99e78ca5 (commit)
      from  32d5f9222eeca7a9ac0e15e7f36d64f8d6932fa6 (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=e90e20c15cd6833133f973cec136e7326da35250
commit e90e20c15cd6833133f973cec136e7326da35250
Merge: 32d5f92 b8cc6f4
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Fri May 24 16:42:53 2013 -0400
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Fri May 24 16:42:53 2013 -0400

    Merge topic 'fix-include_directories-whitespace-handling' into next
    
    b8cc6f4 include_directories: Fix handling of empty or space-only entries


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b8cc6f4eba0b7349de81a48aea18a43f99e78ca5
commit b8cc6f4eba0b7349de81a48aea18a43f99e78ca5
Author:     Stephen Kelly <steve...@gmail.com>
AuthorDate: Mon May 20 12:25:59 2013 +0200
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Fri May 24 16:40:58 2013 -0400

    include_directories: Fix handling of empty or space-only entries
    
    Since commit 0d46e9a0 (Store includes from the same include_directories
    call together., 2013-01-20) we accidentally use such entries.  Fix the
    code to drop them instead.  Update the IncludeDirectories test to cover
    this case.
    
    Reported-by: Christophe Giboudeaux <cgiboude...@gmx.com>

diff --git a/Source/cmIncludeDirectoryCommand.cxx 
b/Source/cmIncludeDirectoryCommand.cxx
index ffb0e80..30c1743 100644
--- a/Source/cmIncludeDirectoryCommand.cxx
+++ b/Source/cmIncludeDirectoryCommand.cxx
@@ -116,13 +116,19 @@ void cmIncludeDirectoryCommand::GetIncludes(const 
std::string &arg,
       {
       std::string inc = arg.substr(lastPos,pos);
       this->NormalizeInclude(inc);
-      incs.push_back(inc);
+      if (!inc.empty())
+        {
+        incs.push_back(inc);
+        }
       }
     lastPos = pos + 1;
     }
   std::string inc = arg.substr(lastPos);
   this->NormalizeInclude(inc);
-  incs.push_back(inc);
+  if (!inc.empty())
+    {
+    incs.push_back(inc);
+    }
 }
 
 void cmIncludeDirectoryCommand::NormalizeInclude(std::string &inc)
@@ -133,6 +139,11 @@ void 
cmIncludeDirectoryCommand::NormalizeInclude(std::string &inc)
     {
     inc.assign(inc, b, 1+e-b);   // copy the remaining substring
     }
+  else
+    {
+    inc = "";
+    return;
+    }
 
   if (!cmSystemTools::IsOff(inc.c_str()))
     {
diff --git a/Tests/IncludeDirectories/CMakeLists.txt 
b/Tests/IncludeDirectories/CMakeLists.txt
index 8a60f17..3e3ecc9 100644
--- a/Tests/IncludeDirectories/CMakeLists.txt
+++ b/Tests/IncludeDirectories/CMakeLists.txt
@@ -58,3 +58,14 @@ get_property(propContentAfter DIRECTORY PROPERTY 
INCLUDE_DIRECTORIES)
 if (NOT propContentAfter STREQUAL "")
   message(SEND_ERROR "Clearing DIRECTORY property failed.")
 endif()
+
+add_library(empty_entry_test SHARED empty.cpp)
+set_target_properties(empty_entry_test PROPERTIES INCLUDE_DIRECTORIES "")
+include_directories(/one/two
+  " "
+  "  "
+)
+get_target_property(incs empty_entry_test INCLUDE_DIRECTORIES)
+if (NOT incs STREQUAL ";/one/two")
+  message(SEND_ERROR "Empty include_directories entry was not ignored.")
+endif()
diff --git a/Tests/IncludeDirectories/empty.cpp 
b/Tests/IncludeDirectories/empty.cpp
new file mode 100644
index 0000000..1787013
--- /dev/null
+++ b/Tests/IncludeDirectories/empty.cpp
@@ -0,0 +1,4 @@
+#ifdef _WIN32
+__declspec(dllexport)
+#endif
+int empty() { return 0; }

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

Summary of changes:


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits

Reply via email to