В моей ситуации мне пришлось решать эту проблему с помощью переменной среды. Команда становится:
factoryWin.addStep(ShellCommand(command=['cmake', '-G%CMAKEGENERATOR%', 'source'],
env={"CMAKEGENERATOR": "\"Visual Studio 10\""}))
Я думаю, что это мешает витому процессу выполнения манипулировать строкой. В моем случае я также хотел настроить командную среду Visual Studio, поэтому моя команда:
factoryWin.addStep(ShellCommand(command=["c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\bin\\vcvars32.bat", "x86",
"&&", "cmake", "-G%CMAKEGENERATOR%", "..\\src"],
env={"CMAKEGENERATOR": "\"Visual Studio 10\""}))
Очевидно, что мой относительный путь между моим каталогом сборки и каталогом src различен, но результат тот же, а именно решение Visual Studio, сгенерированное cmake.