由于以下原因,我尝试配置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}
是“share / doc / udunits”。
此错误消息的含义是什么?如何解决此问题?
答案 0 :(得分:2)
源代码表示错误消息表示FILES
命令的install()
参数是目录而不是预期的常规文件。输出.html
"文件"的原因是一个目录是因为我最初没有使用--no-split
的{{1}}选项。
我的坏。
答案 1 :(得分:0)
对我来说:
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}
)
答案 2 :(得分:0)
CMake 卡在 TYPE parameter of install(FILES ...)
上。如果您运行的是旧版本的 CMake,或者您的 CMake 安装存在某种错误,则可能会发生这种情况。
尝试添加 TYPE
如下:
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${file}.html"
TYPE INCLUDE
DESTINATION ${CMAKE_INSTALL_DOCDIR})