Мне нужно скомпилировать разные версии определенного проекта, добавляя переключатели компилятора. Обычно я делал это, используя add_definitions или что-то вроде
set_property( TARGET mylib PROPERTY COMPILE_DEFINITIONS _MYDEFINE=1 )
] в файле CMakeLists.txt.
Однако в этом конкретном проекте мне не разрешено изменять какие-либо источники, включая файл CMakeLists.txt .
Я надеялся, что что-то вроде
cmake -D_MYDEFINE=1 <path to sources>
создаст файл проекта (Visual Studio 2008 в моем случае, но это не имеет значения), который включает _MYDEFINE = 1 в определениях препроцессора, но на самом деле этого не произойдет.
Какие у меня здесь варианты? Есть ли другие cmake для достижения этой цели? Не стесняйтесь предлагать решения, не включая командную строку, при условии, что изменение файла CMakeLists.txt не требуется.