首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用`conan.cmake`与`conan_multi`生成器,缺少build_type参数?

使用`conan.cmake`与`conan_multi`生成器,缺少build_type参数?
EN

Stack Overflow用户
提问于 2020-12-29 23:56:43
回答 1查看 339关注 0票数 1

我正在尝试使用conan.cmake实现一个多配置cmake构建。我还与cmake_multi文档一起进行跟踪。

cmake_multi的文档中,它们似乎要求您同时传递-g cmake_multi-s build_type={type} ({type} being Release/Debug/...)。

但是,在conan.cmake中,调用conan install -g cmake_multi ...时不像传递当前的build_type

我现在遇到的情况是,如果我运行配置,"Release;Debug" conan报告说缺少了一堆包。

代码语言:javascript
复制
Requirements
    boost/1.71.0@conan/stable from 'my_repo' - Cache
    libconfig/1.6@internal/custom from 'my_repo' - Cache
    ...
Packages
    boost/1.71.0@conan/stable:5b939a5d59f5432d9263459d17f2acb1535629bd - Missing
    libconfig/1.6@internal/custom:ef44119b64b51a15f7b334090b2ff53fddcc38df - Missing
    ...

但是,如果我编辑conan.cmake以在conan_args的末尾传递"-sbuild_type=${CMAKE_BUILD_TYPE}",它就能够找到我的包,用于发布和调试。

有人能看到我可能做错了什么吗?我没有在conan中指定build_type,也没有将其设置为我的设置的一部分。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-30 15:31:44

在多次阅读conan.cmake的源代码之后,我发现可以让它传播构建类型,您只需要使用PROFILE_AUTO参数到conan_cmake_run

代码语言:javascript
复制
conan_cmake_run(
   PROFILE ${CONAN_PROFILE}
   CONFIGURATION_TYPES ${CONFIGURATION_TYPES}
   PROFILE_AUTO build_type  # Use build_type as detected by CMake, override any values in the profile
   BUILD outdated
)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65500310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档