如何从CPack的源代码版本中排除我的构建目录?

时间:2018-02-21 14:13:25

标签: cmake cpack

我刚刚意识到我的CPack发行版的package-version-Source.tar.Z文件大小为1.4千兆字节。事实证明,它包括我的整个构建目录,包括实验二进制文件,以前的版本等,所有这些都在每个tarball中。

如何从CPack版本中排除我的build目录(最好也是我的.vscode.git目录)?我在CMakeLists.txt中的CPack行看起来像这样:

include (InstallRequiredSystemLibraries)
set (CPACK_RESOURCE_FILE_LICENSE  
     "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
set (CPACK_PACKAGE_VERSION_MAJOR "${Pwr_VERSION_MAJOR}")
set (CPACK_PACKAGE_VERSION_MINOR "${Pwr_VERSION_MINOR}")
include (CPack)

1 个答案:

答案 0 :(得分:0)

我面临同样的情况,虽然产生的源tarbal的大小比你的小,几百MB。

我的解决方案是在

之前添加一行
include(CPack)

在你的情况下,它看起来像这样

set(CPACK_SOURCE_IGNORE_FILES "build")
include(CPack)

由于"build"是正则表达式,因此不仅会排除您的build目录,名称与build匹配的文件和目录也会被排除,例如build-dbg,{{ 1}}等。