通过执行生成的<h1>Header<small>subheader<span class="pull-right">subheader right</span></small></h1>
项目,我可以获得要安装的各种文件的列表。这可以工作,但是在执行安装操作时,有时文件不再可用。环境是构建服务器,文件在其中移动->这会导致构建错误。
解决此问题的一种简便方法是在install命令的INSTALL
参数中。所以我的问题是:如果安装命令失败,有没有办法在运行时输出警告?
这是我的代码,用于重新创建问题。 OPTIONAL
目录中有文件“ 1.txt”和“ 2.txt”。我建立了cmakelists.txt,然后删除了“ 2.txt”。之后,我执行得到的src
解决方案。
INSTALL
错误(无cmake_minimum_required(VERSION 3.0)
project(documentation)
set(SOURCEDOCUMENTATION "D:/projects/side_master/src/documentation/src")
set(TARGETDOCUMENTATION "D:/projects/side_master/src/documentation/tgt")
file (GLOB files_to_install "${SOURCEDOCUMENTATION}/*")
foreach(file_to_install ${files_to_install})
install(FILES ${file_to_install} DESTINATION ${TARGETDOCUMENTATION} OPTIONAL)
endforeach()
参数):
OPTIONAL
我想得到的是一条生成的消息,像这样:
-- Install configuration: "Debug"
-- Installing: D:/projects/side_master/src/documentation/tgt/1.txt
CMake Error at cmake_install.cmake:56 (file):
file INSTALL cannot find
"D:/projects/side_master/src/documentation/src/2.txt".
答案 0 :(得分:2)
您可以使用CMake install(SCRIPT ...)
命令的install
或install(CODE ...)
签名来运行特定于您的用例的自定义安装步骤。此处的自定义步骤将检查要安装的文件是否存在(使用CMake的EXISTS
逻辑),如果文件不存在,则打印警告消息。定制安装命令可能如下所示:
install(CODE "
if(NOT EXISTS ${file_to_install})
message(WARNING \"File ${file_to_install} not found during installation.\")
endif()
")