Conan 2中无需--install folder选项生成conanbuildinfo.cmake的方法与路径疑问
新版Conan中conanbuildinfo.cmake生成位置与安装路径设置
核心变化说明
新版Conan(2.x)已移除旧版(1.x)的--install参数,同时conanbuildinfo.cmake属于1.x时代的产物,2.x默认生成的是conan_toolchain.cmake和conan_install.cmake,但如果你的CMake脚本依赖前者,可通过指定旧生成器来保留。
conanbuildinfo.cmake的生成位置
- 在Conan 2.x中,若显式指定旧版
cmake生成器,执行conan install后,该文件默认生成在当前命令执行目录。 - 需在命令中明确指定生成器,示例命令:
conan install . --generator=cmake --build=missing
自定义安装/生成文件路径的方法
虽然--install参数已移除,但可通过--output-folder参数指定生成文件的存放路径,同时控制依赖包的安装关联路径,示例命令:
conan install . --output-folder=your_target_path --generator=cmake --build=missing
执行后,conanbuildinfo.cmake会生成在your_target_path目录下,Conan下载的依赖包会按全局缓存逻辑管理,但构建脚本会集中输出到指定路径。
也可在conanfile.txt中预先配置生成器,再配合命令行指定路径:
[requires] # 填写你的项目依赖包 [generators] cmake
然后执行:
conan install . --output-folder=./build --build=missing
这样conanbuildinfo.cmake就会出现在./build目录中,适配现有CMake脚本的读取逻辑。
注意事项
- 旧版
cmake生成器仅为兼容保留,官方长期规划中会逐步缩减支持,建议逐步迁移到Conan 2.x推荐的cmake_toolchain生成器模式。 - 若CMake脚本严重依赖
conanbuildinfo.cmake的逻辑,可先用上述方法过渡,同时计划重构脚本适配新工具链。
内容的提问来源于stack exchange,提问作者Gabriele
相关产品推荐
相关产品推荐

