cmake工程,如何构建完工程后执行指定的脚本

有这样一个需求:

我有一个QT的camke工程,这个工程的主要目的是编译一个so文件,编译完成后会将这个so文件copy到另一个工程里使用。

为了省去这个手动copy的动作,我需要在编译完成so库后就将so文件copy过去,如何操作呢?

假设我的cmake工程部分代码如下:

        add_library( # Sets the name of the library.
                    scardlua
                            # Sets the library as a shared library.
                    SHARED
                            # Provides a relative path to your source file(s).
                    scardfakecard.cpp

                            )

我要编译一个libscardlua.so的文件

如果要编译完成后执行某个脚本文件,则需要在cmakelist文件中添加如下代码:

set(MY_CUSTOM_COMMAND "${CMAKE_SOURCE_DIR}/cp_so.sh")
   message("Executing   custom command: ${MY_CUSTOM_COMMAND}")
## 添加自定义命令,在编译完成后执行
add_custom_command(
    TARGET scardlua POST_BUILD
    COMMAND ${MY_CUSTOM_COMMAND}
    COMMENT "Copying .so file after build"
)

# 添加自定义目标以确保自定义命令被执行
add_custom_target(copy_so_file ALL DEPENDS scardlua)

这样,编译完我的so库文件后就会行我放在cmakeList.txt同级目录下的cp_so.sh脚本文件,至于脚本文件怎么写就看各自的需求啦

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值