问题描述
默认情况下(在 Linux 上),conan 在 /home/user/.conan/data/package/version/_/_/build/hash
下创建一个 build 文件夹
我想使用 /tmp/conan/package/version/hash/
之类的东西作为构建文件夹。
对于单个包,这可以通过 -bf
选项轻松实现。但是,当构建了许多包时,这会变得乏味。有没有办法在配置设置中将构建文件夹全局设置到 /tmp
下的某个位置?
解决方法
无法仅将构建文件夹与数据分开,但您可以设置 Storage Path。
如果您也想放弃测试包构建文件夹,请使用 CONAN_TEMP_TEST_FOLDER 环境变量。
构建文件夹背后的想法是将源代码与构建的缓存分开。如果您正在使用 conan create
命令开发一个新配方,您可能需要对您的配方进行许多更改,但您不想为每个新的执行下载相同的源,因此您保留源文件夹,并且只重新创建构建文件夹。
如果你真的想在构建包后删除构建文件夹,你可以使用Hooks,例如:
from conans import tools
def post_package(output,conanfile,conanfile_path,**kwargs):
output.info("BUILD FOLDER TO BE REMOVED: %s" % conanfile.build_folder)
tools.rmdir(conanfile.build_folder)