.cmake文件的目的是什么?

What is the purpose of a .cmake file?

我可能在搜索错误,但是无法找到.cmake文件的目的。

我刚刚偶然发现了一个要使用的项目的cmake工具,但我很难理解它的工作方式。 我确实知道,在包含CMakeLists.txt的目录中运行cmake命令会执行该文件中的命令(以及子目录中包含的CMakeLists.txt中的命令),但是.cmake文件的用途更多 模糊。

似乎它们用于定义函数/设置变量,此后在CMakeLists中使用,但我不 CMake工具如何使用它们?


您可以将其包含在include命令中。 类似于其他语言允许您将源文件拆分为模块或头文件的方式,它们可以包含函数定义,宏,然后可以在多个CmakeList中重用这些宏。

参见https://cmake.org/cmake/help/v3.0/command/include.html

请注意,您实际上可以包含任何文件,但是通常使用.cmake扩展名。


在此文件中,您可以定义可在CMakeLists.txt文件中使用的宏功能。 但是,.cmake文件还有其他一些应用程序。 例如,如果您想提供一个库或工具,它们至少应包含一个Config.cmake,以便您的库可以与find_package()命令一起使用。 可以在CMake Wiki中找到更多信息