如何让CMake找到非最新版本的GCC?

时间:2015-11-24 22:41:02

标签: cmake dependencies

我有一些使用CMake(3.x)构建的C ++代码,由于Boost library issue,我需要使用g ++ 4.x而不是5.x进行链接。

我的系统有/ usr / bin / g ++链接到/usr/bin/g++-5.2,还有/usr/bin/g++-4.9。显然我可以让我的CMakeLists.txt手动选择/usr/bin/g++-4.9作为我的编译器,但这意味着它会在另一个系统上中断...我怎样才能让CMake找到"一个版本g ++> = 4但是< 5&#34 ;?或者"最新版本的g ++仍然是< 5"

1 个答案:

答案 0 :(得分:2)

使用内置机制无法做到这一点。 CMake搜索/usr/bin/c++,如果可行,则不会进一步查看。您可以检查找到的编译器的版本号,并在不符合约束条件时发出错误。 向您的用户(或使用自己)建议CMake变量CMAKE_C_COMPILERCMAKE_CXX_COMPILER以指示您要使用的编译器。