separate_arguments
Разделить аргументы командной строки в список, разделённый точкой с запятой.
separate_arguments(<variable> <mode> <args>)
Парсит строку, разделённую пробелами <args> в список элементов и сохраняет этот список в стандартной форме, разделённой точкой с запятой, в <variable>.
Эта функция предназначена для разбора аргументов командной строки. Вся командная строка должна быть передана в качестве одной строки в аргументе <args>.
Точные правила разбора зависят от операционной системы. Они определяются аргументом <mode>, который должен быть одним из следующих ключевых слов:
-
UNIX_COMMAND -
Аргументы разделены нецитированными пробелами. Как одиночные, так и двойные кавычки учитываются. Обратная косая черта экранирует следующий литеарльный символ (
\"это"); нет никаких специальных экранирований (\nпростоn). -
WINDOWS_COMMAND -
Командная строка Windows парсится с использованием той же синтаксической конструкции, что и runtime библиотека для построения argv при запуске. Она разделяет аргументы пробелами, которые не заключены в двойные кавычки. Обратные косые черты являются буквальными, если они не предшествуют двойным кавычкам. Для получения подробностей смотрите статью MSDN Parsing C Command-Line Arguments.
-
NATIVE_COMMAND -
Действует как в режиме
WINDOWS_COMMAND, если хост-система — Windows. В противном случае действует как в режимеUNIX_COMMAND.
separate_arguments(<var>)
Преобразуйте значение <var> в список, разделённый точкой с запятой. Все пробелы заменяются на ‘;’. Это помогает при генерации командных строк.
© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.15/command/separate_arguments.html