$<REMOVE_DUPLICATES:...>: All empty items are removed, whether duplicates or not
This is a regression in the 3.27.0 release candidates (currently testing with RC4). Sample project which can be used to demonstrate the change in behavior since 3.26.4:
cmake_minimum_required(VERSION 3.26)
project(tmp LANGUAGES NONE)
set(list A "" B C)
file(GENERATE OUTPUT show.txt CONTENT "
REMOVE_DUPLICATES => [$<REMOVE_DUPLICATES:${list}>]
")
Contents of show.txt
from CMake 3.26.4:
REMOVE_DUPLICATES => [A;;B;C]
Contents of show.txt
from CMake 3.27.0-rc4:
REMOVE_DUPLICATES => [A;B;C]