以下不起作用:
cmake file ( copy "C:/pathtofile/file.file" DESTINATION "D:/pathtofile2/file2.file" )
有没有办法使用 cmake 实现同样的目标?
该文档指出 DESTINATION 必须是一个目录。因此重命名文件不能以这种方式工作。
execute_process(COMMAND ${CMAKE_COMMAND} -E copy "C:/pathtofile/file.file" "D:/pathtofile2/file2.file")
应该管用。
cmakes 奇妙的配置文件系统将工作。这些文件可以有不同的名称,但基本上如果它发现任何可以通过 cmake 扩展的变量,如 ${cmake_root_dir} 或 $ENV{localappdata},它将编辑文件,将变量替换为它们的值并将其保存到新的新名称下的位置。因此,如果没有变量,它只会复制。
Configure_file( C:/pathtofile/file.file" "D:/pathtofile2/file2.file")
如果您出于某种原因在其中有 cmake 样式变量并且您不希望它们扩展,请使用 @Only 因为它只会扩展由“@”包围的变量:
Configure_file( C:/pathtofile/file.file" "D:/pathtofile2/file2.file" @ONLY)