cmake - 如何为英特尔编译器设置不同的变量

Posted

技术标签:

【中文标题】cmake - 如何为英特尔编译器设置不同的变量【英文标题】:cmake - How to set different variables for Intel compiler 【发布时间】:2010-09-15 14:30:59 【问题描述】:

我确实有一个简单的 cmake 项目(在 linux 上),它可以从自定义位置加载一些库。我现在想使用 Intel 编译器而不是 gnu 编译器,并向我的 CMakeLists.txt 添加一些 if 语句,根据使用的编译器类型加载不同的库。

所以我会在 cmake 配置时通过 CXX 环境变量(对吗?)指定英特尔编译器的使用。 然后我需要在

行中的if语句
IF ( INTEL_IS_USED )
  BLA BLA
ELSE
  BLA BLA

最简单的方法是什么?特别是,是否有一些变量可以查询编译器类型以及它对英特尔编译器的价值是什么?

干杯, 奥利弗

【问题讨论】:

【参考方案1】:

您可以查看CMAKE_C_COMPILERCMAKE_CXX_COMPILER 变量。

类似这样的:

if ($CMAKE_C_COMPILER MATCHES "icc.*$") 
  set(USING_INTEL TRUE)
endif ()

【讨论】:

以上是关于cmake - 如何为英特尔编译器设置不同的变量的主要内容,如果未能解决你的问题,请参考以下文章

CMake Fortran 编译器相关标志

如何为依赖目标添加 cmake 定义?

如何为不同的文件设置不同的警告级别?

如何为反应应用程序设置环境变量?

如何为javac设置PATH变量,以便我可以手动编译我的.java工作?

如何为 [Setup] AppVersion 使用编译时环境变量?