如何设置GTEST_FOUND之类的变量?

时间:2019-08-15 14:52:53

标签: cmake

我试图查看在调用GTEST_FOUND时如何设置find_package(GTest REQUIRED),但是在此文件中没有设置变量GTEST_FOUND的迹象:

https://github.com/Kitware/CMake/blob/master/Modules/FindGTest.cmake

如果没有在FindGTest.cmake中完成变量设置,有人知道吗?

1 个答案:

答案 0 :(得分:1)

GTEST_FOUND变量实际上是在FindPackageHandleStandardArgs.cmake文件中设置的。您可以在FindGTest.cmake中看到对此函数的调用:

include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTest DEFAULT_MSG GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY)

FIND_PACKAGE_HANDLE_STANDARD_ARGS函数使用包名称的第一个参数(在本例中为GTest)来设置<PackageName>_FOUND变量。

以下是FIND_PACKAGE_HANDLE_STANDARD_ARGS函数的标题信息中的引号:

  

如果将<PackageName>_FOUND变量全部设置为TRUE     变量<required-var>...有效且可选     约束已满足,FALSE否则。成功或     根据结果​​和显示失败消息     是否给了REQUIRED和/或QUIET选项     :command:find_package调用。