我使用CMake install(DIRECTORIES...)
表单在安装时复制标题:
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'
我试图逃避大括号,但它会产生相同的行为。我究竟做错了什么?谢谢,
答案 0 :(得分:2)
我找到了解决方案。它不是" {}"而不是删除";"。以下语法适用于我(CMake 2.8.9):
--exec rm {} "\;"