Share via


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 旗標 CMAKE_DISABLE_SOURCE_CHANGES)和 (在 Windows 上) 會以平行方式設定發行和偵錯。 此旗標會指示 vcpkg 允許來源目錄寫入,並循序執行設定步驟。

NO_CHARSET_FLAG

使用內建 Windows 工具鏈時停用傳遞/utf-8

針對以 MSVC 為目標時,設定自己原始程式碼字元集的連結庫需要此專案。 如需詳細資訊, 請參閱 MSVC 檔 /utf-8

WINDOWS_USE_MSBUILD

以 Windows 平台為目標時,請使用 MSBuild 而非另一個產生器。

根據預設,vcpkg 偏好使用 Ninja 作為所有平臺的 CMake 產生器。 不過,MSBuild 的行為與 Ninja 不同,有一個邊緣案例。 只有當專案需要 MSBuild 正確建置時,才應該傳遞此旗標。 此旗標對 MinGW 目標沒有任何作用。

發電機

指定要使用的產生器。

根據預設,vcpkg 偏好在所有平臺上使用 Ninja 做為 CMake 產生器,或在無法使用 Ninja 時,針對非 Windows 平臺使用 “Unix Makefiles”。 此參數可用於專案特定建置系統相依於特定產生器的邊緣案例。

LOGFILE_BASE

設定記錄的替代根名稱。

預設為 config-${TARGET_TRIPLET}。 它不應包含任何路徑分隔符。 系統會產生符合模式的記錄 ${CURRENT_BUILDTREES_DIR}/${LOGFILE_BASE}-<suffix>.log

OPTIONS

在設定期間傳遞至 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_DEBUG中的組態特定選項VCPKG_CMAKE_CONFIGURE_OPTIONS_RELEASE

最後,傳入的其他內部選項(具有 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