我有一个.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"的参数
如果我在控制台中单独执行命令,它可以正常工作。我对一个简单的回波命令也有同样的问题:
COMMAND find ${APK_DIR} -name "*.apk" -exec echo {} ;
我认为在add_custom_target的COMMAND中执行此操作时缺少了一些东西,但怎么办?
编辑:
这适用于echo命令,但不适用于仍然给出以前错误的jarsigner:
COMMAND find ${APK_DIR} -name "*.apk" -exec echo {} +
关注这篇文章如何在CMakeexecute_process中使用find-exec?
我终于得到了正确的命令行:
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 ";"
)
因此,对于"\"而不仅仅是\;