PROJECT_IS_TOP_LEVEL

於 3.21 版本新增。

一個布林變數,指示最近在目前作用域或上方呼叫的 project() 命令是否位於最上層的 CMakeLists.txt 檔案中。

某些模組應僅作為最上層 CMakeLists.txt 檔案的一部分包含,以避免在建置樹中產生意外的副作用,並且可以使用此變數有條件地執行此類程式碼。例如,考慮 CTest 模組,它會建立目標和選項

project(MyProject)
...
if(PROJECT_IS_TOP_LEVEL)
  include(CTest)
endif()

該變數的值在以下情況下為真:

該變數的值在以下情況下為假: