vcpkg_msbuild_install

构建并安装 MSBuild 项目。

此函数替换 vcpkg_install_msbuild

vcpkg_msbuild_install 将会生成一个属性文件和一个包含 CMake 工具链生成标志的目标文件,并会通过 /p:ForceImportAfterCpp(Props|Targets) 包含它

使用情况

vcpkg_install_msbuild(
    SOURCE_PATH <${SOURCE_PATH}>
    PROJECT_SUBPATH <port.sln>
    [ADD_BIN_TO_PATH]
    [NO_INSTALL]
    [NO_TOOLCHAIN_PROPS]
    [CLEAN]
    [RELEASE_CONFIGURATION <Release>]
    [DEBUG_CONFIGURATION <Debug>]
    [TARGET <Build>]
    [PLATFORM <Win32>]
    [OPTIONS </p:ZLIB_INCLUDE_PATH=X>...]
    [OPTIONS_RELEASE </p:ZLIB_LIB=X>...]
    [OPTIONS_DEBUG </p:ZLIB_LIB=X>...]
    [DEPENDENT_PKGCONFIG <zlib>]
    [ADDITIONAL_LIBS <getopt.lib>]
    [ADDITIONAL_LIBS_DEBUG <zlibd.lib>]
    [ADDITIONAL_LIBS_RELEASE <zlib.lib>]
)

要使用此函数,必须依赖于帮助程序端口 vcpkg-msbuild

"dependencies": [
  { 
    "name": "vcpkg-msbuild",
    "host": true
  }
]

参数

SOURCE_PATH

源树根的路径。

由于 MSBuild 使用源内部版本,因此源树将复制到生成的临时位置。 此参数是该副本的基础,并构成所有 XYZ_SUBPATH 选项的基础。

PROJECT_SUBPATH

解决方案 (.sln) 的子路径或相对于 SOURCE_PATH 的 项目 (.vcxproj) 文件。

ADD_BIN_TO_PATH

在版本之前添加 PATH 环境变量的配置依赖项二进制路径。 这是运行由项目本身生成的工具所必需的。 如果 VCPKG_CROSSCOMPILINGtruePATH 环境变量不可变

NO_TOOLCHAIN_PROPS

不要通过 cmake 生成工具链属性。 这样做会自动禁用任何 vcpkg 集成。

NO_INSTALL

不要自动尝试安装任何在版本 dir 中找到的 .lib|.dll|.pdb|.exe 文件。

CLEAN

指示安装后应删除中间文件。

RELEASE_CONFIGURATION

供发布版本使用的配置(/p:Configuration MSBuild 参数)。 默认为 Release

DEBUG_CONFIGURATION

供调试版本使用的配置(/p:Configuration MSBuild 参数)。 默认为 Debug

TARGET

要生成的 MSBuild 目标 (/t:<TARGET>)。 默认为 Rebuild

PLATFORM

供生成使用的平台(/p:Platform MSBuild 参数)。

创建 .vcxproj 时,默认值映射 VCPKG_TARGET_ARCHITECTURE 到 Visual Studio 使用的默认值:

  • x86 变为 Win32
  • x64 变为 x64
  • arm 变为 ARM
  • arm64 变为 arm64

传递 .sln 而不是 .vcxproj 时,可能需要将其设置回 ${VCPKG_TARGET_ARCHITECTURE} 以匹配解决方案使用的平台字符串。

OPTIONS

要传递给所有版本的 MSBuild 的其他选项。

OPTIONS_RELEASE

传递给发布版本的 MSBuild 的其他选项。 这些是对 OPTIONS 的补充。

OPTIONS_DEBUG

传递给调试版本的 MSBuild 的其他选项。 这些是对 OPTIONS 的补充。

DEPENDENT_PKGCONFIG

要添加到版本的 pkg-config 依赖项列表。 这会将所有必需的版本标志(包括/定义/库)添加到版本属性。

ADDITIONAL_LIBS

要添加到项目的其他库。

ADDITIONAL_LIBS_DEBUG

要添加到发布版本的 MSBuild 的其他库。 这些是对 ADDITIONAL_LIBS 的补充。

ADDITIONAL_LIBS_RELEASE

要添加到调试版本的 MSBuild 的其他库。 这些是对 ADDITIONAL_LIBS 的补充。

Source

ports/vcpkg-msbuild/vcpkg_msbuild_install.cmake