PROJECT_IS_TOP_LEVEL

版本 3.21 新增。

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

某些模組應該只作為頂層 CMakeLists.txt 檔案的一部分包含,以避免在建置樹狀結構中造成非預期的副作用,並且此變數可用於有條件地執行此類程式碼。例如,考慮 CTest 模組,它會建立目標和選項

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

變數值在下列情況下為 true

變數值在下列情況下為 false