我可能是谷歌搜索错误,但我无法找到.cmake文件的目的是什么。
我刚刚偶然发现了一个我要使用的项目的cmake工具,我很难理解它是如何工作的。我明白在包含CMakeLists.txt的目录中运行cmake命令会执行该文件中的命令(以及子目录中包含的CMakeLists.txt中的命令),但.cmake文件的目的更多模糊。
它们似乎用于定义CMakeLists后来使用的函数/设置变量,但我不确定。它们如何被CMake工具使用?
答案 0 :(得分:8)
您可以使用include命令包含它。与其他语言允许您将源文件拆分为模块或头文件的方式类似,它们可以包含函数定义,宏可以在多个Cmake列表中重复使用。
请参阅https://cmake.org/cmake/help/v3.0/command/include.html
请注意,您实际上可以包含任何文件,但通常使用.cmake扩展名。
答案 1 :(得分:4)
在此文件中,您可以定义可在CMakeLists.txt文件中使用的宏的功能。但是还有一些其他的.cmake文件应用程序。例如,如果要提供库或工具,则它们至少应包含<name>Config.cmake
,以便您的库可以与find_package()
命令一起使用。更多信息可在CMake Wiki