區域性變數

set(my_variable "the value is a string")

預設情況下,只在當前目錄中定義區域性變數,並通過 add_subdirectory 命令新增任何子目錄。

要擴充套件變數的範圍,有兩種可能性:

  1. CACHE it,這將使其全域性可用

  2. 使用 PARENT_SCOPE,這將使其在父範圍內可用。父作用域是父目錄中的 CMakeLists.txt 檔案或當前函式的呼叫者。

    從技術上講,父目錄將是通過 add_subdirectory 命令包含當前檔案的 CMakeLists.txt 檔案。