Некоторое время назад я был озадачен тем, как остановить изменения строк CMake, которые я передаю командам. Я пытаюсь передать строку через add_compile_options и хочу, чтобы строка появилась в файле проекта Visual Studio без каких-либо изменений. Строка, которую я хочу отобразить в сгенерированном файле, выглядит следующим образом
/ module: stdIfcDir "$ (VCToolsInstallDir) \ ifc \ $ (PlatformTarget)
Я пробовал буквально сотни вариантов аргументов в скобках / кавычках / без кавычек, как описано здесь https://cmake.org/cmake/help/latest/manual/cmake-language.7.html#bracket-argument, используя различные попытки побега. Я также перепробовал много предложений из постов о похожих проблемах
Например
add_compile_options([=[/module:stdIfcDir "$(VCToolsInstallDir)\ifc\$(PlatformTarget)"]=])
, в котором используется аргумент в квадратных скобках, который, как утверждается в документации "Оценка вложенного содержимого не выполняется", приводит к этому
"/ module: stdIfcDir \" $ (VCToolsInstallDir) \ "\ ifc \" $ (PlatformTarget) "
, который был явно изменен. Так есть ли способ сказать CMake просто передать строку без изменений каким-либо образом на выход?