gpt4 book ai didi

c++ - 如何让CMake在多个编译器之间进行选择?

转载 作者:太空狗 更新时间:2023-10-29 22:55:52 31 4
gpt4 key购买 nike

假设我有一个带有多个 C/C++ 编译器的系统 - 各种版本的 GCC、clang 和 ICC。还假设我有一个 CMake C/C++ 项目,它对要使用的 C/C++ 编译器有特定要求和特定偏好;并使事情复杂化,假设这些要求和偏好是根据我设置的项目选项的组合动态生成的(使用 ccmake 或其他方式)。

现在,关于使用默认编译器以外的编译器的其他答案建议设置 CC 或 CXX 环境变量 - 但这在这里显然不合适。

有没有办法让 CMake :

  1. 检测可用的编译器。
  2. 根据一些规则/排名机制选择它喜欢的?

注意事项:

  • CMake 3.0。您可以采用较新的 CMake 版本,但请明确说明。
  • 在这个问题中选择 C ​​或 C++ 是出于我自己的需要,但如果该解决方案适用,当然也可以选择其他语言。

最佳答案

从历史上看,可能在技术上,C 编译器对于 CMake 运行来说是非常基础的。许多命令依赖于编译器,例如检测符号或尝试编译一段代码。

据我所知,没有办法测试多个编译器并选择一个。为了得到这个,你必须

  • 要么包装 CMake 调用并在外部添加一些逻辑,将不同的编译器添加到 CMake 调用
  • 或者必须自己重新编写一堆 CMake 函数。

我的建议:接受 CMake 的工作方式并将其传授给您的用户。

关于c++ - 如何让CMake在多个编译器之间进行选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50075975/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com