微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CMake add_custom_target 命令查找文件并执行

如何解决CMake add_custom_target 命令查找文件并执行

我有一个 .cmake 文件我有一个自定义目标,我需要在其中添加一个命令来查找和签署 apk 文件。我执行以下操作:

add_custom_target(${APK_BUILD_TARGET} ALL

  COMMAND find ${APK_DIR} -name "*.apk" -exec jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore myKey.keystore -storepass myStorePass -keypass myKeyPass {} myName \;

)

我一直收到错误

find: 缺少 `-exec' 的参数

如果我单独执行命令,在控制台中,它工作正常。我对一个简单的 echo 命令有同样的问题:

COMMAND find ${APK_DIR} -name "*.apk" -exec echo {} \;

我认为在 add_custom_target 的 COMMAND 中执行此操作时缺少某些内容,但是什么?

编辑:

这适用于 echo 命令,但不适用于 jarsigner,它仍然会出现以前的错误

COMMAND find ${APK_DIR} -name "*.apk" -exec echo {} +

解决方法

关注这个帖子 How to use find -exec in CMake execute_process?

我终于得到了正确的命令行:

add_custom_target(${APK_BUILD_TARGET} ALL

  COMMAND find ${APK_DIR} -name "*.apk" -exec jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore myKey.keystore -storepass myStorePass -keypass myKeyPass {} myName "\;"

)

所以用“\;”而不仅仅是 \;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。