使用套件的 CMake,是否可以自动下载 Microsoft 安装程序 (MSI) 文件并执行它(当然是在 Windows 上)?
问问题
367 次
1 回答
2
一般应该是的。但是,在用户完成安装程序所需的所有输入之前,显然运行安装程序将阻止 CMake 进程。
file(DOWNLOAD ...)
这是 7-zip 安装程序使用and的示例execute_process
:
set(DownloadedMsi ${CMAKE_BINARY_DIR}/7z920-x64.msi)
file(DOWNLOAD http://sourceforge.net/projects/sevenzip/files/7-Zip/9.20/7z920-x64.msi/download
${DownloadedMsi}
TIMEOUT 30
STATUS StatusVar
LOG LogVar
EXPECTED_HASH SHA1=4173fea2af9a595fa0be1ef8251f412229687be1)
message("\${StatusVar} - ${StatusVar}")
message("\${LogVar} - ${LogVar}\n\n\n")
execute_process(COMMAND cmd /c "${DownloadedMsi}"
RESULT_VARIABLE ResultVar
OUTPUT_VARIABLE OutputVar
ERROR_VARIABLE ErrorVar)
message("\${ResultVar} - ${ResultVar}")
message("\${OutputVar} - ${OutputVar}")
message("\${ErrorVar} - ${ErrorVar}")
于 2013-06-21T01:29:54.413 回答