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


vcpkg_cmake_configure

Настройте проект на основе CMake.

Использование

vcpkg_cmake_configure(
    SOURCE_PATH <source-path>
    [DISABLE_PARALLEL_CONFIGURE]
    [NO_CHARSET_FLAG]
    [WINDOWS_USE_MSBUILD]
    [GENERATOR <generator>]
    [LOGFILE_BASE <logname-base>]
    [OPTIONS
        <configure-setting>...]
    [OPTIONS_RELEASE
        <configure-setting>...]
    [OPTIONS_DEBUG
        <configure-setting>...]
    [MAYBE_UNUSED_VARIABLES
        <option-name>...]
)

Чтобы использовать эту функцию, необходимо зависеть от вспомогательного порта vcpkg-cmake:

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

Параметры

SOURCE_PATH

Указывает каталог, содержащий объект CMakeLists.txt.

Обычно это значение получается в результате вызова команды получения источника, например vcpkg_from_github().

DISABLE_PARALLEL_CONFIGURE

Отключает выполнение шага настройки CMake параллельно.

По умолчанию vcpkg отключает запись обратно в исходный каталог (с помощью незадокументированного флага CMAKE_DISABLE_SOURCE_CHANGESCMake) и (в Windows) настраивает выпуск и отладку параллельно. Этот флаг предписывает vcpkg разрешать запись исходного каталога и выполнять шаги настройки последовательно.

NO_CHARSET_FLAG

Отключает передачу /utf-8 при использовании встроенной цепочки инструментов Windows.

Это необходимо для библиотек, которые задают собственный набор символов исходного кода при целевом использовании MSVC. Дополнительные сведения см. в документации /utf-8 по MSVC.

WINDOWS_USE_MSBUILD

Используйте MSBuild вместо другого генератора при выборе платформы Windows.

По умолчанию vcpkg предпочитает использовать Ninja в качестве генератора CMake для всех платформ. Однако существуют пограничные случаи, когда MSBuild имеет другое поведение, чем Ninja. Этот флаг должен передаваться только в том случае, если для проекта требуется правильное построение MSBuild. Этот флаг не влияет на целевые объекты MinGW.

ГЕНЕРАТОР

Указывает используемый генератор.

По умолчанию vcpkg предпочитает использовать Ninja в качестве генератора CMake для всех платформ или Unix Makefiles для платформ, отличных от Windows, если Ninja недоступен. Этот параметр можно использовать для пограничных случаев, когда системы сборки для конкретного проекта зависят от конкретного генератора.

LOGFILE_BASE

Альтернативное корневое имя для журналов настройки.

По умолчанию — config-${TARGET_TRIPLET}. Он не должен содержать разделители путей. Журналы будут созданы в соответствии с шаблоном. ${CURRENT_BUILDTREES_DIR}/${LOGFILE_BASE}-<suffix>.log

ПАРАМЕТРЫ

Дополнительные параметры для передачи в CMake во время настройки.

См. также неявные параметры.

OPTIONS_RELEASE

Дополнительные параметры для передачи в CMake во время настройки выпуска.

Это в дополнение к OPTIONS.

OPTIONS_DEBUG

Дополнительные параметры для передачи в CMake во время настройки отладки.

Это в дополнение к OPTIONS.

MAYBE_UNUSED_VARIABLES

Список параметров CMake, которые могут не быть прочитаны на этапе настройки.

vcpkg будет предупреждать о любых параметрах за пределами этого списка, которые не были прочитаны во время шага настройки CMake. Этот список должен содержать параметры, которые считываются только во время определенных конфигураций (например, когда VCPKG_LIBRARY_LINKAGE"static" или когда включены определенные функции).

Неявные параметры

Эта команда автоматически предоставляет несколько вариантов для CMake.

Эта команда также передает все параметры и VCPKG_CMAKE_CONFIGURE_OPTIONS параметры для конкретной конфигурации.VCPKG_CMAKE_CONFIGURE_OPTIONS_RELEASEVCPKG_CMAKE_CONFIGURE_OPTIONS_DEBUG

Наконец, существуют дополнительные внутренние параметры, передаваемые (с VCPKG_ префиксом), которые не должны зависеть.

Примеры

vcpkg_from_github(OUT_SOURCE_PATH source_path ...)
vcpkg_cmake_configure(
    SOURCE_PATH "${source_path}"
    OPTIONS
        -DBUILD_EXAMPLES=OFF
        -DBUILD_TESTS=OFF
)
vcpkg_cmake_install()

Поиск microsoft/vcpkg для примеров

Замечания

Эта команда заменяет vcpkg_configure_cmake().

Оригинал

ports/vcpkg-cmake/vcpkg_cmake_configure.cmake