CMake中GCC的if测试

3
什么是在Cmake下测试编译器是否为GCC的正确方法?
我看到过if(CMAKE_COMPILER_IS_GNUCC)if(CMAKE_COMPILER_IS_GNUXX),但是当我运行cmake时,它们都没有被定义。只是为了清楚起见,我百分之百确定我正在使用GCC。
我只想添加特定于GCC的编译器标志。以前我只是在检查Windows后使用else子句,但现在我想更加通用。
1个回答

3

我认为我找到了问题所在。那些属性在project语句之后才被定义。调整顺序后,似乎可以解决问题。


project()语句用于由CMake确定您正在构建的项目类型(C,C ++,Fortran),因此它需要知道要搜索哪个编译器。在CMake脚本中,project()和cmake_minimum_required()通常应该是您执行的第一件事情。 - Milliams

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