gpt4 book ai didi

linux - 如何在 CMake execute_process 中使用 find -exec?

转载 作者:太空狗 更新时间:2023-10-29 11:15:20 24 4
gpt4 key购买 nike

我使用 CMake install(DIRECTORIES...) 形式在安装时复制 header :

install(DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}
DESTINATION include
FILES_MATCHING PATTERN "*.h")

但是,这个命令does create empty directories (那些没有找到标题的)。因此,我想在安装过程中找到并删除那些空目录:

install(CODE "execute_process(
COMMAND find -type d -empty -exec rmdir '{}' ';'
WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX}
ERROR_FILE ${CMAKE_CURRENT_BINARY_DIR}/prune_empty_dirs.err)")

使用上面的命令,文件 prune_empty_dirs.err 包含:

find: missing argument to `-exec'

我试图转义大括号,但它产生了相同的行为。我究竟做错了什么?谢谢,

最佳答案

我找到了解决方案。它不是“{}”而不是删除“;”。以下语法对我有用(CMake 2.8.9):

--exec rm {} "\;"

关于linux - 如何在 CMake execute_process 中使用 find -exec?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15020830/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com