Добавьте следующую строку в ваш CMakeLists.txt
:
if (DEBUG_LEVEL)
add_definitions(-DDEBUG_LEVEL=${DEBUG_LEVEL})
endif()
Это в основном говорит: "Если у вас есть "debug_level" переменная CMake определена, передать определение DEBUG_LEVEL=X
препроцессор для компилятора"
Передайте желаемое значение переменной (например, -DDEBUG_LEVEL=1
) в CMake (в CLion это можно сделать через Options | Build, Execution, Deployment | CMake | CMake options
).
Таким образом, вам нужно отредактировать файл CMakeLists.txt один раз, но затем вы можете изменить фактическое значение, не касаясь исходного кода.
Я думаю, вы можете взломать его, не касаясь CMakeLists.txt вообще, но подход выше кажется более простым и идиоматичным.
Спасибо за ваш ответ! Да, глобальная переменная может решить эту проблему, но ваше решение намного предпочтительнее: D – spacegoing