2011-03-23 87 views
3

什么是测试编译器是否是Cmake下的GCC的正确方法?cmake如果测试GCC

我见过if(CMAKE_COMPILER_IS_GNUCC)if(CMAKE_COMPILER_IS_GNUXX)但我没有定义当我运行cmake。只是要清楚,我100%确定我正在使用GCC。

我只想添加特定于GCC的编译器标志。之前,我在检查窗口后使用了else子句,但现在我想更通用。

回答

3

我想我发现了这个问题。这些属性直到project声明之后才被定义。切换顺序,它似乎工作。

+0

CMake使用project()语句来确定你正在构建什么类型的项目(C,C++,Fortran),因此它需要它能够知道要搜索的编译器。 project()和cmake_minimum_required()通常应该是你在CMake脚本中做的第一件事情。 – Milliams 2011-04-27 12:41:51