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
记录CMakeLists.txt和自定义或本地.cmake文件_Cmake_Documentation_Python Sphinx - Fatal编程技术网

记录CMakeLists.txt和自定义或本地.cmake文件

记录CMakeLists.txt和自定义或本地.cmake文件,cmake,documentation,python-sphinx,Cmake,Documentation,Python Sphinx,记录我的项目CMakeLists.txt文件和本地项目.cmake文件的好方法是什么?这里有一个两年前的问题/答案,我基本上又在问了。答案包含了这句话 目前,CMake 3.0正在开发中,它将获得一个基于Sphinx和StructuredText的新文档系统。我想这将带来记录模块的新方法 我已经看过了,但是这个新的文档系统似乎适合于cmake本身的文档。我不知道如何使用它来记录我的用户定义项目CMakeLists.txt文件或本地.cmake文件 我希望,由于cmake项目内部有各种sphinx

记录我的项目
CMakeLists.txt
文件和本地项目
.cmake
文件的好方法是什么?这里有一个两年前的问题/答案,我基本上又在问了。答案包含了这句话

目前,CMake 3.0正在开发中,它将获得一个基于Sphinx和StructuredText的新文档系统。我想这将带来记录模块的新方法

我已经看过了,但是这个新的文档系统似乎适合于cmake本身的文档。我不知道如何使用它来记录我的用户定义项目
CMakeLists.txt
文件或本地
.cmake
文件

我希望,由于cmake项目内部有各种sphinx指令和角色,因此作为用户,我可以通过某种方式利用sphinx的这种内部使用。我希望能够在我的
CMakeLists.txt
文件和本地
.cmake
文件中有一些标记,而无需重新发明轮子。在其他项目中也有相关的努力。例如,ROS-catkin项目似乎提供了我见过的最完整的方法,但对于非ROS项目来说,这是相当重的,不容易使用。(作为一个例子,看看他们的。)最简单的是cmakedomain,但它依赖于单独的rst源文档,而不是带有标记注释的autodoc方法


也许这是cmake列表中的一个问题,但我希望有人在监视StackOverflow。

尽管引用了这句话,但我认为cmake中与Sphinx相关的代码对用户没有用处。我和你有同样的经历,我的项目的CMake与CMake文档中使用的Sphinx代码不匹配


< P>使用普通的狮身人面像,创建自己的模板。

< P>好消息:你可以使用狮身人面像来记录你的CMAGE模块,同时使用DoXEGEN来记录你的C++(或其他)源代码。

我创建了一个示例项目,它演示了如何使用<代码> SPHXTUNIB Buffic CCAMENTAZEDGE 结合狮身人面像和DoXEGEN生成C++代码和CMAGE代码:

文档。

它使用sphinxcontrib ModernMakeDomain包和CMake自身来配置sphinx
conf.py
,然后运行sphinx

该示例主要基于以下官方CMake文档:

另见此处的相关问题:

我认为这与CMake无关,而是关于斯芬尼本身。你读过关于it使用的教程吗?是的,我知道如何使用斯芬克斯。但是我不知道如何使用cmake 3新文档系统来记录我的
CMakeLists.txt
或其他
.cmake
文件。cmake文档系统似乎是用于记录cmake的,而不是供用户记录其特定于项目的cmake文件。我希望,由于cmake项目内部有各种sphinx指令和角色,因此作为用户,我可以通过某种方式利用它们,而无需重新发明轮子。我会在我的问题上加上这个澄清。@Phil:当然,我是这样理解你的问题的。而对于我的项目,这并没有成功。不幸的是。