conan.tools.microsoft.visual

check_min_vs

check_min_vs(conanfile, version, raise_invalid=True)

这是一个辅助方法,用于在不破坏配方的情况下,允许从 1.X 迁移到 2.0,以及从 VisualStudio 设置迁移到 msvc 设置。不支持带有不同工具集的旧版“Visual Studio”,因为其复杂度不值得。

参数:
  • raise_invalidbool 如果版本检查失败,是抛出异常还是返回 False

  • conanfile< ConanFile object > 当前配方对象。始终使用 self

  • versionstr Visual Studio 或 msvc 版本号。

示例

def validate(self):
    check_min_vs(self, "192")

msvc_runtime_flag

msvc_runtime_flag(conanfile)

根据设置中的 compiler.runtime 值获取 MSVC 运行时标志。

参数:

conanfile< ConanFile object > 当前配方对象。始终使用 self

返回:

str 运行时标志。

is_msvc

is_msvc(conanfile, build_context=False)

验证当前编译器是否为 msvc

参数:
  • conanfile< ConanFile object > 当前配方对象。始终使用 self

  • build_context – 如果为 True,将使用构建上下文中的设置,而非主机上下文中的设置

返回:

bool 如果主机编译器是 msvc,则为 True,否则为 False。

is_msvc_static_runtime

is_msvc_static_runtime(conanfile)

验证使用 Visual Studio 或 msvc 且运行时为 MT 时的情况。

参数:

conanfile< ConanFile object > 当前配方对象。始终使用 self

返回:

bool 如果为 msvc + runtime MT 则为 True。否则为 False。

msvs_toolset

msvs_toolset(conanfile)

根据编译器设置返回对应的平台工具集。如果配置文件中没有配置工具集,它将根据编译器版本返回一个工具集;否则,它将返回配置文件中的工具集。如果没有配置编译器版本或工具集,它将返回 None。它支持 msvc、intel-cc 和 clang 编译器。对于 clang,它假定使用由 Visual Studio 安装程序提供的 ClangCl 工具集。

参数:

conanfile – 用于访问 settings.compiler 的 Conanfile 实例

返回:

当 compiler.version 有效或 compiler.toolset 配置时,返回一个工具集。否则,返回 None。

conan.tools.microsoft.subsystems

unix_path

unix_path(conanfile, path, scope='build')