Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法理解在cmake中set(var val${var})的用法_Cmake - Fatal编程技术网

无法理解在cmake中set(var val${var})的用法

无法理解在cmake中set(var val${var})的用法,cmake,Cmake,我学cmake已经有一段时间了。我对这段代码感到困惑: set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH}) 有人能帮我找出代码末尾${CMAKE_MODULE_PATH}的含义吗 谢谢在这一点上,您将在当前的$CMAKE\u模块路径之前预先挂起${CMAKE\u SOURCE\u DIR}/CMAKE,这是一个串联。您正在通过执行以下操作将新值插入列表的开头 set(CMAKE\u模块\u路径我的/PATH

我学cmake已经有一段时间了。我对这段代码感到困惑:

set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
有人能帮我找出代码末尾${CMAKE_MODULE_PATH}的含义吗


谢谢

在这一点上,您将在当前的
$CMAKE\u模块路径
之前预先挂起
${CMAKE\u SOURCE\u DIR}/CMAKE
,这是一个串联。您正在通过执行以下操作将新值插入列表的开头
set(CMAKE\u模块\u路径我的/PATH${CMAKE\u模块\u路径})

在列表CMAKE_MODULE_PATH前加上CMAKE将查找Find.CMAKE或MODULE-config.CMAKE的路径(实际上提交的路径是您的_source_目录+/CMAKE)

你也可以这样写:
set(CMAKE\u模块路径my/PATH;${CMAKE\u模块路径})

就像在CMake中一样,一切都是一个字符串,列表就是用“;”分隔的字符串

var本身的引用()

CMake在查找包时内部使用此变量(使用find_package宏)

您可以在find_package宏的引用中找到cmake搜索的路径列表(此处:)

希望这个答案能正确回答你的问题