Поделиться через


vcpkg_msbuild_install

Создайте и установите проект MSBuild.

Эта функция заменяет vcpkg_install_msbuild.

vcpkg_msbuild_install создаст файл props и целевой файл, содержащий флаги сборки цепочки инструментов 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) или проекта (.vcxproj) относительно SOURCE_PATH.

ADD_BIN_TO_PATH

Добавляет зависимый от конфигурации двоичный путь к переменной PATH среды перед сборкой. Это необходимо для запуска средств, созданных самим проектом. Если PATH переменная среды не мутируется VCPKG_CROSSCOMPILINGtrue

NO_TOOLCHAIN_PROPS

Не создавайте свойства цепочки инструментов с помощью cmake. Это автоматически отключает любую интеграцию vcpkg.

NO_INSTALL

Не пытайтесь автоматически установить файл .lib|. dll|. pdb|. exe-файлы, найденные в dir сборки.

ЧИСТЫЙ

Указывает, что промежуточные файлы должны быть удалены после установки.

RELEASE_CONFIGURATION

Конфигурация (/p:Configuration параметр msbuild), используемая для сборок выпуска. По умолчанию используется: Release

DEBUG_CONFIGURATION

Конфигурация (/p:Configuration параметр msbuild), используемая для сборок отладки. По умолчанию используется: Debug

ЦЕЛЕВОЙ ОБЪЕКТ

Целевой объект MSBuild для сборки (/t:<TARGET>). По умолчанию используется: Rebuild

ПЛАТФОРМА

Платформа (/p:Platform параметр msbuild), используемый для сборки.

Это значение по умолчанию сопоставляется VCPKG_TARGET_ARCHITECTURE со значениями по умолчанию, используемыми Visual Studio при создании .vcxproj:

  • x86 заменяется на Win32.
  • x64 заменяется на x64.
  • arm заменяется на ARM.
  • arm64 заменяется на arm64.

При передаче вместо нее .sln .vcxprojможет потребоваться вернуться в ${VCPKG_TARGET_ARCHITECTURE} соответствие со строками платформы, используемыми решениями.

ПАРАМЕТРЫ

Дополнительные параметры для передачи в 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.

Оригинал

ports/vcpkg-msbuild/vcpkg_msbuild_install.cmake