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