ExternalProject: Define behavior for repeated single-value options
The code
ExternalProject_Add(...
CMAKE_GENERATOR Ninja
CMAKE_GENERATOR Ninja
...
)
causes the values to accumulate as a ;
-separated list. The configure step's cmake command line ends up with -GNinja Ninja
because _EP_CMAKE_GENERATOR
has Ninja;Ninja
.
We should recognize when single-valued options end up with multiple values, warn, and pick one of the values.