作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我使用 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/
我是一名优秀的程序员,十分优秀!