CMAKE_GENERATOR_TOOLSET¶
用户提供的本机构建系统工具集规范。
一些 CMake 生成器支持工具集规范来告诉本机构建系统如何选择编译器。如果用户指定了一个工具集(例如,通过 cmake -T 选项或通过 CMAKE_GENERATOR_TOOLSET 环境变量),该值将在此变量中可用。
项目代码永远不应修改此变量的值。 CMAKE_TOOLCHAIN_FILE 变量指定的工具链文件可以初始化 CMAKE_GENERATOR_TOOLSET。一旦使用此变量的特定值初始化了给定的构建树,更改该值将具有未定义的行为。
仅特定生成器支持工具集规范:
Visual Studio 生成器 适用于 VS 2010 及更高版本
适用于 Xcode 3.0 及更高版本的
Xcode生成器
有关允许的工具集名称,请参阅本机构建系统文档。
Visual Studio 工具集选择¶
Visual Studio 生成器 支持使用以下形式之一的工具集规范:
工具集工具集[,键=值] *键=值[,键=值]*
toolset 指定工具集名称。所选工具集名称在 CMAKE_VS_PLATFORM_TOOLSET 变量中提供。
key=value 对形成一个以逗号分隔的选项列表,用于指定工具集选择的特定于生成器的详细信息。支持的对是:
cuda=<版本>|<路径>指定要使用的 CUDA 工具包版本或独立 CUDA 工具包目录的路径。 VS 2010及以上版本支持。该版本只能与全局安装的 CUDA 工具包 VS 集成一起使用。请参阅
CMAKE_VS_PLATFORM_TOOLSET_CUDA和CMAKE_VS_PLATFORM_TOOLSET_CUDA_CUSTOM_DIR变量。主机=<arch>将主机工具架构指定为“x64”或“x86”。 VS 2013 及以上版本支持。请参阅
CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE变量。版本=<版本>指定要使用的工具集版本。安装了指定工具集的 VS 2017 及更高版本支持。请参阅
CMAKE_VS_PLATFORM_TOOLSET_VERSION变量。VCTargetsPath=<路径>为 Visual Studio 项目文件指定一个替代的“VCTargetsPath”值。这允许使用未随 VS 安装的 VS 平台扩展配置文件(
.props和``.targets``)。
Visual Studio 工具集自定义¶
这些是没有兼容性保证的不稳定接口,因为它们挂钩到未记录的内部 CMake 实现细节。机构可以使用这些在内部维护对非公共 Visual Studio 平台和工具集的支持,但必须承担在对 CMake 进行更改时进行更新的责任。
额外的 key=value 对可用:
customFlagTableDir=<路径>在 3.21 版本加入.
指定目录的绝对路径,从中加载存储为 JSON 文档的自定义标志表,其文件名格式为
<platform>_<toolset>_<tool>.json或<platform>_<tool >.json,其中``<platform>`` 是CMAKE_VS_PLATFORM_NAME,<toolset>是CMAKE_VS_PLATFORM_TOOLSET,<tool>是工具标志表的意思。 此命名模式是内部 CMake 实现细节。<tool>名称未记录。.json标志表文件的格式未记录。