CMake如何检查编译器是否可用?

16
使用CMake时,我注意到输出信息如下:

-- C编译器的识别标识是GNU

-- CXX编译器的识别标识是GNU

-- 检查可用的C编译器:/usr/bin/gcc

-- 检查可用的C编译器:/usr/bin/gcc -- 成功

-- 检测C编译器ABI信息

-- 检测C编译器ABI信息 - 完成

-- 检查可用的CXX编译器:/usr/bin/c++

-- 检查可用的CXX编译器:/usr/bin/c++ -- 成功

-- 检测CXX编译器ABI信息

-- 检测CXX编译器ABI信息 - 完成

我只是好奇CMake如何检查编译器是否工作并获得ABI信息。

可能与autoconf相同:它开始运行许多命令,特别是使用某些给定的样本输入进行C编译。而且cmake自由软件,所以获取其源代码学习它 - Basile Starynkevitch
1个回答

10

您可以自行查看。 代码位于CMake模块中,如CMakeDetermineCCompiler.cmakeCMakeDetermineCompilerABI.cmake等。

您可以在your_cmake_install/share/cmake-2.8/Modules中找到这些模块。


9
这是一个糟糕的回答。“查看源代码”在编程行业相当于“点击此链接”。我怀疑如果提问者知道如何查看源代码的话,就不会提出这个问题,假设他们没有已经尝试过并放弃了。而且当我点击这个问题时,我肯定没有预料到成为C程序员是寻找答案所必须的条件。 - Hashim Aziz
5
如果问题涉及解决实际的具体问题,我可能会尝试解决那个特定的问题。然而,如果提问者只是“好奇CMake如何检查……”,那么“在此处看一下”在我看来是一个完全有效的回答。此外,这并不是指查看CMake本身的源代码。它只是简单地查看CMake在执行编译器检测时执行的CMake命令。因此,我也不认为它需要具有C编程知识。 - Angew is no longer proud of SO
@AngewisnolongerproudofSO,请问您能否看到我的问题?https://stackoverflow.com/q/60318357/11587528 - Gonn
所以,我尝试阅读那些 .cmake 文件,但是无法“轻易地看到自己”。 - einpoklum

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接