Skip to content
Snippets Groups Projects
Commit 27c2579e authored by Brad King's avatar Brad King Committed by Kitware Robot
Browse files

Merge topic 'issue-21663'


38e2299f list(REMOVE_ITEM): Make removal of an empty item a no-op.

Acked-by: default avatarKitware Robot <kwrobot@kitware.com>
Merge-request: !5693
parents 00d8a1df 38e2299f
No related branches found
No related tags found
No related merge requests found
......@@ -422,9 +422,10 @@ bool HandleJoinCommand(std::vector<std::string> const& args,
bool HandleRemoveItemCommand(std::vector<std::string> const& args,
cmExecutionStatus& status)
{
if (args.size() < 3) {
status.SetError("sub-command REMOVE_ITEM requires two or more arguments.");
return false;
assert(args.size() >= 2);
if (args.size() == 2) {
return true;
}
const std::string& listName = args[1];
......
......@@ -142,9 +142,8 @@ set(Find-List-Only-STDERR "three")
set(Insert-List-Only-STDERR "at least three")
set(Length-List-Only-STDERR "two")
set(Remove_At-List-Only-STDERR "at least two")
set(Remove_Item-List-Only-STDERR "two or more")
foreach(cmd IN ITEMS Find Get Insert Length Remove_At Remove_Item)
foreach(cmd IN ITEMS Find Get Insert Length Remove_At)
string(TOUPPER ${cmd} cmd_upper)
set(${cmd}-List-Only-RESULT 1)
set(${cmd}-List-Only-STDERR ".*CMake Error at List-${cmd}-List-Only.cmake:1 \\(list\\):.*list sub-command ${cmd_upper} requires ${${cmd}-List-Only-STDERR} arguments.*")
......
set(ls "a" "b" "c")
list(REMOVE_ITEM ls alpha)
if (NOT ls STREQUAL "a;b;c")
message(FATAL_ERROR "list(REMOVE_ITEM) modified for empty item")
endif ()
......@@ -30,6 +30,7 @@ run_cmake(FILTER-NotList)
run_cmake(REMOVE_AT-NotList)
run_cmake(REMOVE_DUPLICATES-NotList)
run_cmake(REMOVE_ITEM-NotList)
run_cmake(REMOVE_ITEM-NoItemArg)
run_cmake(REVERSE-NotList)
run_cmake(SORT-NotList)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment