Fix parsing of command-line arguments when already specified as a cmake list.
The built-in separate_arguments chokes when given a cmake list variable -
it needs a space-separated list of arguments. However, this leads to
an incompatibilty with our CI, in which the YAML configuration doesn't
support forwarding space-separated variables along to build scripts
(it either escapes the spaces, or separates spaces into different arguments).
By allowing us to specify flags via semi-colon separated lists, these
are already separated by cmake automatically. This also allows us to set
these lists directly via the cmake command-line.