3

由于以下原因,我尝试配置 CMake 项目失败:

 CMake Error at CMakeLists.txt:42 (install):
   install FILES given directory
   "/home/steve/udunits2/build/lib/udunits2lib.html" to install.
 Call Stack (most recent call first):
   lib/CMakeLists.txt:47 (texi_doc)

顶级 CMakeLists.txt 文件中的第 42 行是

install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${file}.html" DESTINATION ${CMAKE_INSTALL_DOCDIR})

并且是从 .texi 输入构建 .info 和 .html 文件并安装它们的功能的一部分。${CMAKE_INSTALL_DOCDIR}是“共享/文档/udunits”。

这个错误消息是什么意思,我该如何解决这个问题?

4

3 回答 3

3

源代码表明错误消息意味着命令的FILES参数install()是目录而不是预期的常规文件。输出.html“文件”是目录的原因是因为我最初没有--no-split使用makeinfo(1).

我的错。

于 2013-09-23T23:31:31.857 回答
1

至于我:

install(
        FILES
        "${PROJECT_SOURCE_DIR}/test_hard1.h"
        "${PROJECT_BINARY_DIR}/config.h"
        # DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} #  error install FILES given no DESTINATION!

        # add include after DESTINATION, then it works
        DESTINATION include ${CMAKE_INSTALL_INCLUDEDIR}
)
于 2018-08-03T12:48:06.463 回答
0

CMake 卡在TYPE parameter of install(FILES ...). 如果您运行的是旧版本的 CMake,或者您的 CMake 安装存在某种错误,则可能会发生这种情况。

尝试添加TYPE如下:

install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${file}.html"
        TYPE INCLUDE
        DESTINATION ${CMAKE_INSTALL_DOCDIR})
于 2021-07-31T17:24:50.160 回答