【问题标题】:CMake: Intel compiler specific option [duplicate]CMake:英特尔编译器特定选项 [重复]
【发布时间】:2018-06-26 08:55:07
【问题描述】:

我们在 C++ 项目中使用 CMake。在 Windows 上,我们从 CMakeLists.txt 生成一个 Visual Studio 项目。这很好用,但是我们需要设置一个名为 BasePlatformToolset 的英特尔编译器特定选项。

可以在 Visual Studio 的 GUI 中设置该选项,然后将一个条目添加到 .vcxproj 文件中。但是,每次我们从 CMakeLists.txt 再次生成项目时,该选项当然会重置为默认值。

有没有办法从 CMakeLists.txt 文件中指定这个选项?

澄清一下:这与设置平台工具集不同。由于我们使用的是英特尔编译器而不是默认编译器,因此平台工具集被指定为“英特尔 C++ 编译器 17.0”。 “基础平台工具集”是英特尔编译器特定的设置。

【问题讨论】:

  • 这与指定平台工具集不同。

标签: windows visual-studio cmake icc


【解决方案1】:

您应该能够使用生成器表达式作为您的编译器 ID:

target_compile_options(yourTarget
    PRIVATE
    $<$<CXX_COMPILER_ID:Intel>:/p:BasePlatformToolset=v120>)

【讨论】:

  • 这会在命令行选项中产生一个附加值,但不会更改 Visual Studio 中设置的实际值。
  • 你之前清除过cmake缓存吗?
  • 是的,我删除了 CMakeCache 文件。
猜你喜欢
  • 1970-01-01
  • 2018-05-17
  • 1970-01-01
  • 2021-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-26
相关资源
最近更新 更多