我正在努力理解如何使用CPack。我想要生成一个二进制程序包和一个源包。二进制文件非常好,只包括必要的内容。但是,在源代码发行版中,项目根目录中基本上存在所有文件,包括我运行CMake命令的CPack构建目录。
因为其中可能有几个构建目录,所以我无法将它们全部排除在源代码包中。
set(CPACK_SOURCE_IGNORE_FILES "*.git*")工作良好,但理想情况下,我希望只将包含的文件集中到版本控制(如git )跟踪的文件中。而且,不,我不考虑在cpack之前确保我的项目目录是完全干净的,这是一个可行的选项。
(将整个目录打包到存档中是我不需要CPack的。)
发布于 2017-07-27 16:31:47
据我所知,您只能通过创建一个大的忽略文件列表来配置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$")等。
https://stackoverflow.com/questions/45355875
复制相似问题