我现在正在阅读一个cmake脚本,我对以下代码感到困惑:
if(COMMAND cmake_policy)
cmake_policy(SET CMP0003 NEW)
endif()
我理解CMPOOO3的意思是here有一部好的纪录片。但是,我无法理解第一行if(COMMAND cmake_policy)
,这是什么意思?谢谢。
答案 0 :(得分:5)
构造if (COMMAND...)
可用于检查函数或宏是否存在。从手册:
if(COMMAND命令名)
如果给定的名称是命令,宏或 可以调用的函数。
通常,这用于确保CMake脚本与较旧版本的CMake兼容,但可能未定义该函数。