mirror of
https://github.com/reactos/CMake.git
synced 2024-12-20 10:38:08 +00:00
include_directories: Fix handling of empty or space-only entries
This is a regression introduced in commit 0d46e9a0
(Store includes
from the same include_directories call together., 2013-01-20).
Reported at
http://thread.gmane.org/gmane.comp.programming.tools.cmake.user/46695/focus=7847
This commit is contained in:
parent
5dd8c01429
commit
2f84dfec93
@ -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()))
|
||||
{
|
||||
|
@ -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()
|
||||
|
1
Tests/IncludeDirectories/empty.cpp
Normal file
1
Tests/IncludeDirectories/empty.cpp
Normal file
@ -0,0 +1 @@
|
||||
// No content
|
Loading…
Reference in New Issue
Block a user