2016-07-29 112 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