2016-07-29 1 views

ответ

1
  1. Добавьте следующую строку в ваш CMakeLists.txt:

    if (DEBUG_LEVEL) 
        add_definitions(-DDEBUG_LEVEL=${DEBUG_LEVEL}) 
    endif() 
    

    Это в основном говорит: "Если у вас есть "debug_level" переменная CMake определена, передать определение DEBUG_LEVEL=X препроцессор для компилятора"

  2. Передайте желаемое значение переменной (например, -DDEBUG_LEVEL=1) в CMake (в CLion это можно сделать через Options | Build, Execution, Deployment | CMake | CMake options).

Таким образом, вам нужно отредактировать файл CMakeLists.txt один раз, но затем вы можете изменить фактическое значение, не касаясь исходного кода.

Я думаю, вы можете взломать его, не касаясь CMakeLists.txt вообще, но подход выше кажется более простым и идиоматичным.

+0

Спасибо за ваш ответ! Да, глобальная переменная может решить эту проблему, но ваше решение намного предпочтительнее: D – spacegoing