CMake Error (configure_file): configure_file 错误配置文件

S_r*_*ckz 3 doxygen cmake

我正在开发一个关于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_FOUNDif条件中,它根本不会执行任何操作,这意味着它找不到doxygen 可执行文件。但正如我已经说过的,我已经安装了doxygen

我是 cmake 的新手。所以,任何人都可以帮我解决这个问题吗

编辑:

我使用的操作系统是 Ubuntu 16.04

在我把它执行if(DOXYGEN_FOUND)的命令放在后面之后find_package(doxygen),但我在第 78 行而不是第 77得到了相同的cmake 错误

另外,现在因为我从评论中获得了足够的信息,我才意识到我的问题更多是寻找 Doxyfile.in 文件所在的位置,而不是配置文件。有人可以帮我吗?

Ant*_*ane 7

错误很明显

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)

您必须找出此过程失败的原因:

  1. 确保${PROJECT_SOURCE_DIR}包含正确的项目路径,并确保文件Doxyfile.in是正确的文件夹 (<project dir>/doc)
  2. 确保内容Doxyfile.in不包含任何语法错误,尤其是需要用其 CMake 值替换的 @VARIABLES@。

请注意,此错误与系统上的 Doxygen 以及 CMake 是否确实发现它无关。