separate_arguments
Разделить аргументы, разделённые пробелами, на список, разделённый точкой с запятой.
separate_arguments(<var> <UNIX|WINDOWS>_COMMAND "<args>")
Парсит строку командной строки в стиле Unix или Windows «<args>» и сохраняет список аргументов, разделённых точкой с запятой, в <var>. Вся командная строка должна быть задана в одном аргументе «<args>».
Режим UNIX_COMMAND разделяет аргументы путём удаления нецитированных пробелов. Он распознаёт пары одинарных и двойных кавычек. Обратный слэш экранирует следующий литеранльный символ (” эквивалентно “); нет никаких специальных экранирований (n просто равно n).
Режим WINDOWS_COMMAND парсит командную строку Windows, используя ту же синтаксическую конструкцию, что и библиотека выполнения для построения argv при запуске. Он разделяет аргументы пробелами, которые не заключены в двойные кавычки. Обратные слэши являются литеральными, если только они не предшествуют двойным кавычкам. Подробности см. в статье MSDN «Разбор аргументов командной строки C».
separate_arguments(VARIABLE)
Преобразуйте значение VARIABLE в список, разделённый точкой с запятой. Все пробелы заменяются на ‘;’. Это помогает в генерации командных строк.
© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.6/command/separate_arguments.html