【问题标题】:CMake add_custom_target COMMAND find files and exec [duplicate]CMake add_custom_target COMMAND 查找文件并执行 [重复]
【发布时间】:2021-08-28 07:17:40
【问题描述】:

我有一个 .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 \;

)

我不断收到错误

发现:`-exec' 缺少参数

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

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

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

编辑:

这适用于 echo 命令,但不适用于仍然给出先前错误的 jarsigner:

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

【问题讨论】:

    标签: cmake command-line jarsigner add-custom-target


    【解决方案1】:

    关注这篇文章 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 "\;"
    
    )
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多