2013-05-08 122 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的旧版本兼容。