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文件更新就会复制到指定目录
        "$<$<CONFIG:Release>:${Release_bin_FILE}>"  
        "$<$<CONFIG:Debug>:${Debug_bin_FILE}>"  
        "${Out_Save_Dir}/${PROJECT_NAME}-${build_time}.bin" 
)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在ROS系统中安装C++库,通常需要进行以下步骤: 1. 将库文件和头文件复制到ROS工作空间的src目录中。 假设我们要安装名为my_lib的C++库,包含my_lib.h和my_lib.cpp两个文件。我们可以将这两个文件复制到ROS工作空间的src目录下的一个名为my_lib的文件夹中。 2. 在CMakeLists.txt文件中添加库文件的编译信息。 在ROS工作空间的src目录下,每个ROS软件包通常都会有一个对应的CMakeLists.txt文件,用于定义编译信息。我们需要在该文件中添加my_lib库文件的编译信息。 具体来说,我们需要在CMakeLists.txt文件中使用add_library()函数来定义my_lib库文件的编译信息: ``` add_library(my_lib SHARED src/my_lib.cpp ) ``` 其中,my_lib为库文件的名称,SHARED表示生成动态库,src/my_lib.cpp为库文件的源代码文件路径。如果需要生成静态库,可以将SHARED改为STATIC。 3. 在CMakeLists.txt文件中添加头文件路径信息。 在CMakeLists.txt文件中,我们需要使用include_directories()函数来添加my_lib库文件的头文件路径信息: ``` include_directories( include ) ``` 其中,include为my_lib库文件的头文件路径。 4. 在package.xml文件中添加依赖信息。 在ROS工作空间的src目录下,每个ROS软件包通常都会有一个对应的package.xml文件,用于定义软件包信息和依赖关系。我们需要在该文件中添加my_lib库文件的依赖信息。 具体来说,我们需要在package.xml文件中添加如下的<depend>标签: ``` <depend>my_lib</depend> ``` 其中,my_lib为要依赖的库文件名。 通过以上步骤,我们就可以将my_lib库文件安装到ROS系统中了。在ROS系统中,my_lib库文件通常会被安装到install/lib目录中,而my_lib头文件通常会被安装到install/include目录中。如果需要修改文件和头文件的安装路径,可以在CMakeLists.txt文件中使用INSTALL()命令进行配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值