Cmake文件COPY跨驱动器

时间:2017-05-18 07:01:53

标签: windows cmake copy drives

以下不起作用:

cmake file ( copy "C:/pathtofile/file.file" DESTINATION "D:/pathtofile2/file2.file" )

有没有办法用cmake实现同样的目的?

2 个答案:

答案 0 :(得分:1)

文档说明DESTINATION必须是一个目录。因此,重命名文件不会以这种方式工作。

execute_process(COMMAND ${CMAKE_COMMAND} -E copy "C:/pathtofile/file.file" "D:/pathtofile2/file2.file")

应该有用。

答案 1 :(得分:0)

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)