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_CROSSCOMPILING
为 true
,PATH
环境变量不可变
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
的补充。