2013-05-08 313 views
2

我現在讀CMake的腳本,我百思不得其解用以下代碼:命令cmake_policy [cmake]的含義?

if(COMMAND cmake_policy) 
    cmake_policy(SET CMP0003 NEW) 
endif() 

我明白CMPOOO3意思爲here具有良好的紀錄片。但是,我無法理解第一行if(COMMAND cmake_policy),這是什麼意思?謝謝。

回答

5

構造if (COMMAND...)可用於檢查函數或宏是否存在。從手動:

如果(COMMAND命令名)

如果給定的名字是一個命令,宏或 函數可以被調用。

通常,這用於確保CMake腳本與可能未定義函數的CMake的舊版本兼容。