gpt4 book ai didi

git - CPack:仅打包 git 跟踪的文件

转载 作者:行者123 更新时间:2023-12-05 04:09:42 25 4
gpt4 key购买 nike

我正在尝试了解如何使用 CPack。我想制作一个二进制文件和一个源代码包。二进制的非常好,只包括必要的东西。不过,在源代码分发中,项目的根目录中基本上有所有文件 - 包括我运行 CPack 命令的 CMake 构建目录。

由于一个人可能有多个构建目录,我看不出如何将它们全部排除在源包中之外。

set(CPACK_SOURCE_IGNORE_FILES "*.git*") 工作正常但理想情况下我想将包含的文件集限制为仅由版本控制跟踪的文件,例如git,首先。而且,不,我不考虑确保我的项目目录在 cpack 之前是完全干净的是一个可行的选择。

(将整个目录打包到存档中是我不需要 CPack 的事情。)

最佳答案

据我所知,您只能通过制作一个很大的忽略文件列表来配置 CPack 源包文件。您可以从自己的 .gitignore 文件或其他一些来源中获得灵感。例如:

list(APPEND CPACK_SOURCE_IGNORE_FILES "/\.git/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/CMakeFiles/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/_CPack_Packages/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/bin(ary)?/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/build/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/dist/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/libs?/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/logs?/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/objs?/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/[tT]e?mp/")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/___pycache__")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/\.cache")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/\.gitignore.*")
list(APPEND CPACK_SOURCE_IGNORE_FILES "/CMakeCache.txt")
list(APPEND CPACK_SOURCE_IGNORE_FILES "\.pyc$")

等等

关于git - CPack:仅打包 git 跟踪的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45355875/

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