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