【问题标题】:How to generate Visual Studio Solutions for Multi-targetting via CMake?如何通过 CMake 为多目标生成 Visual Studio 解决方案?
【发布时间】:2013-11-18 08:15:11
【问题描述】:

从 VS2010 开始,Visual Studio 支持multi-targetting 的概念,可以为之前的 Visual Studio 版本的编译器、库和包含配置和构建解决方案。例如,2010 IDE 可用于使用 v90 (2008) 工具集进行构建; 2012 IDE 可用于构建 v90、v100、v110 和 v110_xp 工具链等。

问题是这样的;如何配置 CMake 构建系统,已设置为使用 Visual Studio N 的编译器等生成 Visual Studio N 的解决方案,以允许在 IDE 中使用 Visual Studio N-M 进行构建。

虽然工具集选择应该仅通过 -T 工具集起作用,但问题是这反过来会导致 cmake-2.8/Modules/CMakeTestCXXCompiler.cmake 失败,声称 cl.exe 无法编译简单的程序.但是,在 Visual Studio 版本中选择工具集时并非如此,例如Visual Studio 2012 中的 v110_xp。与 Visual Studio 版本中的工具集相比,跨 Visual Studio 版本的工具集似乎有些复杂。

在此用例中,是否有人有 CMake 的具体经验,可以从以前版本的工具集生成解决方案,以便在当前版本的 Visual Studio 的 IDE 中使用?

【问题讨论】:

    标签: c++ visual-studio cmake native


    【解决方案1】:

    CMake 的命令行选项 -T(工具集选择)涵盖了这一点,自 CMake 2.8.11 起可用。语法很简单:

    cmake ... -T "the string VS uses to identify the toolset" ...
    

    所以,例如:

    cmake ... -T v90 ...
    

    请注意,到目前为止,此选项在 GUI 中没有专用小部件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多