如何以cm​​ake find_package库可以使用的方式设置变量?

时间:2017-04-10 21:23:31

标签: cmake

我使用了一个cmake find_package脚本(确切地说,它可能并不是非常重要,但是https://raw.githubusercontent.com/snikulov/cmake-modules/master/FindFFmpeg.cmake}使用了一个变量:

set(FFmpeg_FIND_COMPONENTS AVCODEC AVFORMAT AVUTIL SWRESAMPLE SWSCALE)
find_package(FFmpeg)

显然,目的是调用者能够根据项目的要求覆盖要查找的组件列表。

所以我从我的CMakeLists.txt那里做到了:

FFmpeg_FIND_COMPONENTS

但忽略了新值,脚本的行为就像vector<int> v; v.push_back(0); v.push_back(1); v .transform([](auto i) { return i + 2; }) .transform([](auto i) { return i * 3; }) .inner_product(0); 未定制一样。

我如何使这项工作?

1 个答案:

答案 0 :(得分:1)

变量<package>_FIND_COMPONENTS填充了find_package COMPONENTS 选项的值:

find_package(FFmpeg COMPONENTS AVCODEC AVFORMAT AVUTIL SWRESAMPLE SWSCALE)

有关详细信息,请参阅find_package documentation