我正在开发一个关于c++的项目,需要执行一个CMakeLists.txt文件来运行它。我安装cmake的,doxygen的,CMake的,咒骂的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 ()
Run Code Online (Sandbox Code Playgroud)
在这里,它给了我一条错误消息,说
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)
Run Code Online (Sandbox Code Playgroud)
您必须找出此过程失败的原因:
${PROJECT_SOURCE_DIR}包含正确的项目路径,并确保文件Doxyfile.in是正确的文件夹 (<project dir>/doc)Doxyfile.in不包含任何语法错误,尤其是需要用其 CMake 值替换的 @VARIABLES@。请注意,此错误与系统上的 Doxygen 以及 CMake 是否确实发现它无关。
| 归档时间: |
|
| 查看次数: |
8891 次 |
| 最近记录: |