我正在开发一个关于c ++的项目,需要执行一个CMakeLists.txt文件来运行它。我安装了cmake,doxygen,cmake-curses-gui并使用sudo
。然后我尝试运行该文件。
以下是cmake代码的一部分 -
if (BUILD_DOC)
find_package(Doxygen)
configure_file(${PROJECT_SOURCE_DIR}/doc/Doxyfile.in
${PROJECT_SOURCE_DIR}/doc/Doxyfile @ONLY)
add_custom_target(${PROJECT_NAME}_doc ALL ${DOXYGEN_EXECUTABLE}
${PROJECT_SOURCE_DIR}/doc/Doxyfile)
endif ()
在这里,它给了我一个错误信息说
CMakeLists.txt上的CMake错误:77(configure_file):configure_file配置文件时出错
你知道,第77行是configure_file(${PROJECT_SOURCE_DIR}/doc/Doxyfile.in
。
如果我将AND DOXYGEN_FOUND
添加到if
条件,它根本不执行任何操作,这意味着它找不到doxygen可执行文件。但正如我已经说过的,我已经安装了doxygen。
我是cmake的新手。所以,有人可以帮我这个
编辑:
我使用的操作系统是Ubuntu 16.04
在我执行命令if(DOXYGEN_FOUND)
之后放find_package(doxygen)
之后,我在第78行而不是第77行得到了相同的cmake错误
此外,现在因为我从评论中获得了足够的信息,我才意识到我的问题更多的是找到Doxyfile.in文件所在的位置而不是配置文件。有谁可以帮助我吗?
错误很明显
configure_file配置文件时出错
CMake的configure_file(<input> <output>)
命令用于将输入文件复制到输出并用相应的值替换输入中的@VARIABLES@
。
configure_file(${PROJECT_SOURCE_DIR}/doc/Doxyfile.in ${PROJECT_SOURCE_DIR}/doc/Doxyfile @ONLY)
你必须找到这个过程失败的原因:
${PROJECT_SOURCE_DIR}
包含项目的正确路径,并确保文件Doxyfile.in
是正确的文件夹(
/ DOC)Doxyfile.in
的内容不包含任何语法错误,特别是@ VARIABLES @需要用其CMake值替换。请注意,此错误与您系统上的Doxygen无关,以及CMake实际发现与否的事实。