Командная строка CMake для C ++ #define

Мне нужно скомпилировать разные версии определенного проекта, добавляя переключатели компилятора. Обычно я делал это, используя 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 не требуется.

29
задан Tim Meyer 2 March 2012 в 10:23
поделиться