我有一些使用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"
答案 0 :(得分:2)
使用内置机制无法做到这一点。 CMake搜索/usr/bin/c++
,如果可行,则不会进一步查看。您可以检查找到的编译器的版本号,并在不符合约束条件时发出错误。
向您的用户(或使用自己)建议CMake变量CMAKE_C_COMPILER
和CMAKE_CXX_COMPILER
以指示您要使用的编译器。