svn - 使用 CMake 安装某些文件

标签 svn cmake

我有一个源目录结构:

projectSource
|---src
|---include
|---CMakeLists.txt

并想要一个安装目录结构
projectInstall
|---bin
|---include
|---lib

我的源目录树都在版本控制之下,所以每个源文件夹包含一个额外的 .svn/目录。从 projectSource/include 安装所有头文件的最简单方法是什么?至 projectInstall/include , 同时跳过 .svn目录?

我想使用类似的东西:
set( PROJECT_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/include )
include_directories( ${PROJECT_INCLUDE_DIR} )
install(DIRECTORY ${PROJECT_INCLUDE_DIR}/
    DESTINATION "include"
    FILES_MATCHING PATTERN "*.h"
    PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)

但即使我(试图)只安装匹配 *.h 的文件,我还在接.svn/目录和内容。

最佳答案

您可以添加 EXCLUDE模式的关键字:

install(DIRECTORY ${PROJECT_INCLUDE_DIR}/
    DESTINATION "include"
    FILES_MATCHING
    PATTERN "*.h"
    PATTERN ".svn" EXCLUDE
    PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)

关于svn - 使用 CMake 安装某些文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8560122/

相关文章:

我可以跳过 cmake 编译器测试或避免 "error: unrecognized option ' -rdynamic'"

eclipse - 加载了不兼容的 JavaHl 库

svn - 在 TortoiseSVN 中撤消提交

android - 是否可以为 Android Studio 创建仅使用 CMake 的项目?

cmake - 删除使用 link_libraries() 添加的库

visual-studio - 如何使用 Visual Studio 和 Eclipse 处理项目

cmake - Clion 和 CMake 消息

svn - 在 Subversion 中为新主干添加标签

svn - svn :externals 的最佳实践使用

svn - 重用已删除分支的名称是否安全?