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