Cmake复制文件并修改文件名

Cmake 复制文件并修改文件名

最近有研究Cmake语法,由于有时候需要归档一写编译文件,所以研究了Cmake的复制文件并修改文件名的方法。
这里提供的方法是复制的目录和文件名都需要指定,复制到指定目录后自己给文件重新命名即可。

#复制输出文件归档并添加日期
string(TIMESTAMP COMPILE_TIME %Y%m%d_%H%M%S)
    set(build_time    ${COMPILE_TIME})
#复制输出文件
SET(Debug_bin_FILE  
    ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.bin 
) 
SET(Release_bin_FILE  
    ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.bin 
) 

SET(Out_Save_Dir
	#这里是要复制到哪个文件夹
    ${CMAKE_HOME_DIRECTORY}/build/out
)

add_custom_command(
	#在build之后执行指令
    TARGET ${PROJECT_NAME} POST_BUILD
    #使用cmake命令行创建目录,如果目录已经存在不会重复创建
    COMMAND ${CMAKE_COMMAND} -E make_directory ${Hex_Save_Dir}
    #使用cmake命令行复制输出文件
    COMMAND ${CMAKE_COMMAND} -E #echo copy out file 
    #copy_if_different是文件更新时复制,这里是判断生成的时间
    copy_if_different
    	#当debug中的bin文件或者release中的bin文件更新就会复制到指定目录
        "$<$:${Release_bin_FILE}>"  
        "$<$:${Debug_bin_FILE}>"  
        "${Out_Save_Dir}/${PROJECT_NAME}-${build_time}.bin" 
)

你可能感兴趣的:(c++,linux,开发语言)