Почему CMake префиксирует пробелы обратными слешами при выполнении команды?

У меня есть пользовательская команда в CMakeLists.txt :

set(testfiles "test1 test2")
add_custom_target(testtouch COMMAND touch ${testfiles})

Когда я запускаю "make testtouch VERBOSE=1", я вижу, что она выполняет :

touch test1\ test2

Это просто пример, но у меня есть эта проблема в реальном проекте, и "\" нарушает команду. Обратите внимание, что я получаю переменную (здесь testfiles) из скрипта Find и не могу просто избавиться от двойных кавычек.

Почему CMake делает это?

Как этого избежать?

9
задан Barth 19 January 2012 в 11:37
поделиться