トリプレット リファレンス

この記事では、トリプレット ファイルで使用できる vcpkg 変数について説明します。 トリプレット ファイルには、ユーザー定義変数を含めることもできます。

トリプレット機能の 概要については、トリプレットの概念に関するドキュメント を参照してください。

変数

VCPKG_TARGET_ARCHITECTURE

ターゲット コンピューターのアーキテクチャを指定します。

有効なオプションには x86、,, x64, , arm, arm64, arm64ec, s390x, ppc64le, riscv32, riscv64, loongarch32, , loongarch64, , mips64, および wasm32.

VCPKG_CRT_LINKAGE

目的の CRT リンケージ (MSVC の場合) を指定します。

有効なオプションは dynamicstatic です。

VCPKG_LIBRARY_LINKAGE

優先するライブラリ リンケージを指定します。

有効なオプションは dynamicstatic です。 ライブラリは、優先リンケージの種類をサポートしていない場合、この設定を無視できます。

VCPKG_BUILD_TYPE

この値を設定して release 、リリースのみのバージョンのポートをビルドできます。 既定では、この値は空です。 この値が空の場合、vcpkg はポートのリリース構成とデバッグ構成をビルドします。

VCPKG_CMAKE_SYSTEM_NAME

ターゲット プラットフォームを指定します。

有効なオプションには、次のような CMake システム名が含まれます。

  • 空 (従来の理由から Windows デスクトップ)
  • WindowsStore(ユニバーサル Windows プラットフォーム)
  • MinGW (Windows 用ミニマリスト GNU)
  • Darwin (Mac OSX)
  • iOS (iOS)
  • Linux (Linux)
  • Emscripten (WebAssembly)

VCPKG_CMAKE_SYSTEM_VERSION

ターゲット プラットフォーム システムのバージョンを指定します。

このフィールドは省略可能であり、存在する場合は次のように CMAKE_SYSTEM_VERSIONビルドに渡されます。

については、CMake のドキュメントも参照してください。 CMAKE_SYSTEM_VERSION

VCPKG_CHAINLOAD_TOOLCHAIN_FILE

使用する代替 CMake ツールチェーン ファイルを指定します。

この (設定されている場合) は、他のすべてのコンパイラ検出ロジックをオーバーライドします。 既定では、ツールチェーン ファイルが適切なプラットフォームから scripts/toolchains/ 選択されます。

ツールチェーン ファイルについては、CMake のドキュメントも参照してください。

VCPKG_CXX_FLAGS

使用しない VCPKG_CHAINLOAD_TOOLCHAIN_FILE場合に使用する追加のコンパイラ フラグを設定します。

このオプションには、構成固有のフラグと C 言語フラグのフォームもあります。

  • VCPKG_CXX_FLAGS
  • VCPKG_CXX_FLAGS_DEBUG
  • VCPKG_CXX_FLAGS_RELEASE
  • VCPKG_C_FLAGS
  • VCPKG_C_FLAGS_DEBUG
  • VCPKG_C_FLAGS_RELEASE

VCPKG_LINKER_FLAGS

が存在しない場合に動的ライブラリと実行可能ファイルをビルドするときに使用する追加の VCPKG_CHAINLOAD_TOOLCHAIN_FILEリンカー フラグを設定します。

このオプションには、構成固有のフラグ用のフォームもあります。

  • VCPKG_LINKER_FLAGS
  • VCPKG_LINKER_FLAGS_DEBUG
  • VCPKG_LINKER_FLAGS_RELEASE

VCPKG_MESON_CONFIGURE_OPTIONS

構成コマンド (in vcpkg_configure_meson) に追加される追加の Meson 構成オプションを設定します。

このフィールドは省略可能です。

ビルド型固有 VCPKG_MESON_CONFIGURE_OPTIONS_DEBUG および VCPKG_MESON_CONFIGURE_OPTIONS_RELEASE 変数としても使用できます。

VCPKG_MESON_NATIVE_FILE_RELEA Standard Edition

追加の構成依存ファイルを、meson クロス/ネイティブ ファイルとして指定します。 vcpkg によって生成されたクロス/ネイティブ ファイルが渡された後に渡されるため、vcpkg によって提供される設定をオーバーライドするために使用できます。

独自のbuild_machineとhost_machineエントリを提供するのに特に便利です。

VCPKG_MESON_NATIVE_FILE_DEBUG

VCPKG_MESON_NATIVE_FILE_RELEA Standard Editionを参照してください

VCPKG_MESON_CROSS_FILE_RELEA Standard Edition

VCPKG_MESON_NATIVE_FILE_RELEA Standard Editionを参照してください

VCPKG_MESON_CROSS_FILE_DEBUG

VCPKG_MESON_NATIVE_FILE_RELEA Standard Editionを参照してください

VCPKG_CMAKE_CONFIGURE_OPTIONS

configure コマンド (in vcpkg_cmake_configure) に追加される追加の CMake 構成オプションを設定します。

このフィールドは省略可能です。

ビルド型固有 VCPKG_CMAKE_CONFIGURE_OPTIONS_DEBUG および VCPKG_CMAKE_CONFIGURE_OPTIONS_RELEASE 変数としても使用できます。

VCPKG_CONFIGURE_MAKE_OPTIONS

configure コマンド (in vcpkg_configure_make) に追加される追加の automake/autoconf 構成オプションを設定します。

このフィールドは省略可能です。

たとえば、誤って失敗する可能性のある特定の libtool チェックをスキップするには、次のようにします。

set(VCPKG_CONFIGURE_MAKE_OPTIONS "lt_cv_deplibs_check_method=pass_all")

ビルド型固有 VCPKG_CONFIGURE_MAKE_OPTIONS_DEBUG および VCPKG_CONFIGURE_MAKE_OPTIONS_RELEASE 変数としても使用できます。

VCPKG_HASH_ADDITIONAL_FILES

パッケージ ABI ハッシュの計算に含めるファイルの一覧。

このフィールドは省略可能です。

パッケージの内容に影響を与え、ABI ハッシュの計算に組み込む必要があるファイルを宣言します。 次に例を示します。

  • カスタムトリプレットとツールチェーンに (経由 include(filepath)して) 含まれるファイル。
  • で定義されているファイル VCPKG_MESON_(NATIVE|CROSS)_FILE_<CONFIG>

ファイルの内容と順序のみが考慮され、ファイルのパスは ABI ハッシュに影響しません。

set(VCPKG_HASH_ADDITIONAL_FILES
  "${CMAKE_CURRENT_LIST_DIR}/file1.cmake"
  "${CMAKE_CURRENT_LIST_DIR}/meson-cross.txt"
)

VCPKG_DEP_INFO_OVERRIDE_VARS

Note

このセクションでは、いつでも変更または削除できる vcpkg の試験的な機能について説明します。

トリプレット "サポート" 項の既定の計算済みリストを置き換えます。

このオプション (設定されている場合) は、プラットフォーム式の評価に使用される用語の既定のセットをオーバーライドします。

詳細については、 "supports" マニフェスト ファイルフィールドのドキュメントを参照してください。

Note

このリストは、ヘルパー関数を vcpkg_get_dep_info 使用して抽出されます。

VCPKG_DISABLE_COMPILER_TRACKING

警告

このオプションを有効にすると、復元されたバイナリ パッケージで ABI の非互換性が発生する可能性があるため、推奨されません。 詳細については、 バイナリ キャッシュに関するドキュメント を参照してください

このオプションが TRUEON、または 1に設定されている場合、コンパイラはパッケージの一部として追跡されません。

これにより、バイナリ キャッシュ古いコンパイラまたは新しいコンパイラのビルドを再利用します。

Windows 固有の変数

VCPKG_ENV_PASSTHROUGH

ビルド プロセスに追加の環境変数を許可するように vcpkg に指示します。

Windows では、vcpkg は、ビルドの信頼性と一貫性を確保するために、現在のコマンド プロンプトから分離された特別なクリーン環境にパッケージをビルドします。 このトリプレット オプションは、クリーン環境に追加される追加の環境変数の一覧に設定できます。 これらの環境変数の値はパッケージ abi にハッシュされます。abi 追跡なしで環境変数を渡すには、次を参照してください VCPKG_ENV_PASSTHROUGH_UNTRACKED

使用される vcpkg env 正確な環境を検査する方法については、コマンドも参照してください。

Note

このリストは、ヘルパー関数を vcpkg_get_tags 使用して抽出されます。

VCPKG_ENV_PASSTHROUGH_UNTRACKED

abi 追跡なしでビルド プロセスに追加の環境変数を許可するように vcpkg に指示します。

以下を参照してください。VCPKG_ENV_PASSTHROUGH

VCPKG_VISUAL_STUDIO_PATH

使用する Visual Studio のインストールを指定します。

Visual Studio インスタンスとツールセットのバージョンの正確な組み合わせを選択するには、次のアルゴリズムについて説明します。

  1. トリプレットまたは環境変数VCPKG_VISUAL_STUDIO_PATHから設定VCPKG_VISUAL_STUDIO_PATHを決定するか、未設定と見なします
  2. トリプレットから設定 VCPKG_PLATFORM_TOOLSET を決定するか、未設定と見なします
  3. Visual Studio インスタンスのすべてのペアと、それらのインスタンスで使用可能なすべてのツールセットの一覧を収集する
    • これは、最初にインスタンスの種類 (Stable、Prerelease、Legacy) で並べ替えられた後、ツールセットのバージョン (v143、v142、v141、v140) ごとに並べ替えられます。
  4. の設定 VCPKG_VISUAL_STUDIO_PATH に基づいて一覧をフィルター処理します VCPKG_PLATFORM_TOOLSET
  5. 最適な再メイン オプションを選択する

パスは絶対パスで、円記号で書式設定し、末尾にスラッシュを付けてはなりません。

set(VCPKG_VISUAL_STUDIO_PATH "C:\\Program Files (x86)\\Microsoft Visual Studio\\Preview\\Community")

VCPKG_PLATFORM_TOOL Standard Edition T

使用する VS ベースの C/C++ コンパイラ ツールチェーンを指定します。

完全な選択アルゴリズムを参照してください VCPKG_VISUAL_STUDIO_PATH

有効な設定:

  • Visual Studio 2022 プラットフォーム ツールセットは .v143
  • Visual Studio 2019 プラットフォーム ツールセットは .v142
  • Visual Studio 2017 プラットフォーム ツールセットは .v141
  • Visual Studio 2015 プラットフォーム ツールセットは .v140

VCPKG_PLATFORM_TOOL Standard Edition T_VERSION

使用する詳細な MSVC C/C++ コンパイラ ツールチェーンを指定します。

既定では、[] は常VCPKG_PLATFORM_TOOLSETに、選択したツールセットのインストール済みの最新のマイナー バージョンを選択します。 さらに細分性が必要な場合は、この変数を使用できます。 有効な値は次のとおりです。たとえば、 14.25 次のようになります 14.27.29110

VCPKG_LOAD_VCVARS_ENV

vcpkg が、トリプレット環境の一部として Visual Studio のインスタンスを検索して使用するかどうかを決定します。

既定では、これは指定VCPKG_CHAINLOAD_TOOLCHAIN_FILEしない Windows トリプレット用ですON。 指定する Windows 以外のトリプレットとトリプレット VCPKG_CHAINLOAD_TOOLCHAIN_FILEの場合、既定値は OFF.

Linux 変数

VCPKG_FIXUP_ELF_RPATH

このオプションを (true|1|on) に設定すると、vcpkg は実行可能ファイルと$ORIGIN/<path_relative_to_lib>共有ライブラリのヘッダーを追加し、ヘッダーにRUNPATH追加$ORIGINします。 これにより、Linux 上でパッケージを再配置できます。

MacOS 変数

VCPKG_INSTALL_NAME_DIR

macOS 動的ライブラリをビルドするときに使用するインストール名を設定します。 既定値は @rpath です。 詳細については、CMAKE_INSTALL_NAME_DIRCMake ドキュメントを参照してください。

VCPKG_OSX_DEPLOYMENT_TARGET

コンパイル済みバイナリの macOS の最小バージョンを設定します。 これにより、CMake が検索する macOS プラットフォーム SDK のバージョンも変更されます。 詳細については、CMAKE_OSX_DEPLOYMENT_TARGETCMake ドキュメントを参照してください。

VCPKG_OSX_SYSROOT

CMake で使用される macOS プラットフォーム SDK の名前またはパスを設定します。 詳細については、CMAKE_OSX_SYSROOTCMake ドキュメントを参照してください。

VCPKG_OSX_ARCHITECTURES

CMake で使用される macOS/iOS ターゲット アーキテクチャを設定します。 詳細については、CMAKE_OSX_ARCHITECTURESCMake ドキュメントを参照してください。

ポートごとのカスタマイズ

CMake マクロ PORT は、トリプレット ファイルを解釈するときに設定され、ポートごとに設定 (など VCPKG_LIBRARY_LINKAGE) を変更するために使用できます。

例:

set(VCPKG_LIBRARY_LINKAGE static)
if(PORT MATCHES "qt5-")
    set(VCPKG_LIBRARY_LINKAGE dynamic)
endif()

これにより、すべてのライブラリが qt5-* DLL としてビルドされますが、他のすべてのライブラリはスタティック ライブラリとしてビルドされます。

実際のプロジェクトの例については、次を参照してください https://github.com/Intelight/vcpkg/blob/master/triplets/x86-windows-mixed.cmake