[Cmake-commits] CMake branch, next, updated. v2.8.11-2215-ge90e20c
Brad King
brad.king at kitware.com
Fri May 24 16:42:56 EDT 2013
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.king at kitware.com>
AuthorDate: Fri May 24 16:42:53 2013 -0400
Commit: CMake Topic Stage <kwrobot at 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 <steveire at gmail.com>
AuthorDate: Mon May 20 12:25:59 2013 +0200
Commit: Brad King <brad.king at 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 <cgiboudeaux at 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
More information about the Cmake-commits
mailing list