概要
vcpkg export [options] {<package>... | --x-all-installed}
Description
インストールされているディレクトリからスタンドアロンの開発者 SDK にビルドされたパッケージをエクスポートします。
export は、vcpkg を個別に取得せずに別のマシンで使用できるスタンドアロンの再頒布可能な SDK (ソフトウェア開発キット) を生成します。 その構成要素を次に示します。
- 選択したパッケージの事前構築済みバイナリ
- 推移的な依存関係
- CMake ツールチェーンや MSBuild props/targets などの統合ファイル
注
このコマンドの動作は、クラシック モードとマニフェスト モードでは異なります
export コマンドでは、パッケージや推移的な依存関係はインストールされません。 既にインストールされているパッケージのみがエクスポートされます。
詳細については、「 マニフェスト モード 」または「 クラシック モード 」を参照してください。
クラシック モード
クラシック モードでは、 vcpkg export は triplet 修飾パッケージの指定 引数を受け入れます (例: zlib:x64-windows)
エクスポートするパッケージを指定するには、コマンド ライン <port name>:<triplet> 引数を追加します。
たとえば、x64-windowsとx64-linuxのsqlite パッケージをエクスポートするには、次のコマンドを使用します。
vcpkg export sqlite:x64-windows sqlite:x64-linux --zip
このコマンドは、指定されたパッケージを zip 形式でエクスポートします。
vcpkg exportを実行する前に、sqlite:x64-windowsとsqlite:x64-linuxの両方をインストールする必要があります。
マニフェスト モード
マニフェスト モードでは、コマンドは現在インストールされているすべてのパッケージをエクスポートします。 インストール ディレクトリには、マニフェスト (vcpkg.json) で宣言されているすべてのパッケージとその推移的な依存関係が含まれます。 このコマンドを使用する前に vcpkg install を実行して、必要なすべてのパッケージがインストールされていることを確認します。
このモードでは、エクスポートする個々のパッケージを指定することはできません。 このコマンドは、インストールされている状態全体を 1 つのエンティティとして動作し、マニフェスト ファイルで指定された依存関係とバージョンを考慮します。
もう 1 つの違いは、 --output-dir オプションの要件です。 このオプションは、エクスポートされたパッケージを格納するディレクトリを指定します。
たとえば、マニフェスト ディレクトリから
vcpkg export --zip --output-dir=.\exports
現在インストールされているすべてのパッケージを zip ファイルの .\exports ディレクトリにエクスポートします。
--zip オプションは、エクスポートされたパッケージを zip ファイルに圧縮することを指定します。
標準統合
ほとんどのエクスポート形式には、標準の統合ファイルのセットが含まれています。
-
CMake ツールチェーン
/scripts/buildsystems/vcpkg.cmake -
msBuild props/targets (
/scripts/buildsystems/msbuild/vcpkg.propsおよび/scripts/buildsystems/msbuild/vcpkg.targets -
のインストール ツリー
/
一部のエクスポート形式は、この標準セットとは異なります。詳細については、以下の個々の形式のヘルプを参照してください。
形式
公式にサポートされている SDK 形式:
Raw Directory
vcpkg export --raw [options] <package>...
<output-dir>/<output>/で圧縮されていないディレクトリ レイアウトを作成します。
標準統合ファイルを格納します。
ZIPファイル
vcpkg export --zip [options] <package>...
<output-dir>/<output>.zipで zip 圧縮ディレクトリ レイアウトを作成します。
標準統合ファイルを格納します。
7Zip
vcpkg export --7zip [options] <package>...
<output-dir>/<output>.7zに 7zip ディレクトリ レイアウトを作成します。
標準統合ファイルを格納します。
NuGet
vcpkg export --nuget [options] <package>...
<output-dir>/<nuget-id>.<nuget-version>.nupkgで NuGet パッケージを作成します。
NuGet パッケージ マネージャーを介した MSBuild C++ プロジェクト (.vcxproj) へのインクルードをサポートするための、標準統合ファイルと追加の MSBuild 統合が含まれています。
exportで生成された複数の NuGet パッケージを混在させることはできません。パッケージの 1 つだけが使用されます。 ライブラリを追加するには、依存関係の完全なセットを含む新しいエクスポートを作成する必要があります。
形式固有のオプション:
IFW
IFW エクスポートが削除されました。
Chocolatey
Chocolatey エクスポートが削除されました。
プレハブ
プレハブのエクスポートが削除されました。
オプション
すべての vcpkg コマンドでは、 一連の一般的なオプションがサポートされています。
<package>
これは、SDK に含まれる最上位のビルド パッケージの一覧です。 これらのパッケージの依存関係も含まれるため、結果として得られる SDK が自己完結型になります。
パッケージ構文
<port name>:<triplet>
トリプレットのないパッケージ参照は、 既定のターゲット トリプレットによって自動的に修飾されます。
注: マニフェスト モードでvcpkg exportを使用する場合、<port name>:<triplet>引数は使用できません。
--x-all-installed
注
このセクションでは、いつでも変更または削除できる vcpkg の試験的な機能について説明します。
インストールされているすべてのパッケージをエクスポートします。 マニフェスト モードで vcpkg export を使用する場合、このオプションは暗黙的に指定されます。
--dereference-symlinks
エクスポートされた結果の通常のファイルとディレクトリとしてシンボリック リンクをコピーします。
--dry-run
エクスポートを実行せず、エクスポート プランのみを印刷します。
--nuget-description=
NuGet .nupkg ファイルの出力の説明を指定します。
既定値は "Vcpkg NuGet エクスポート" です。
--nuget-id=
NuGet .nupkg ファイルの出力 ID を指定します。
このオプションは、NuGet エクスポーター専用の --output オプションをオーバーライドします。 既定値については、「 --output 」を参照してください。
--nuget-version=
NuGet .nupkg ファイルの出力バージョンを指定します。
既定値は 1.0.0 です。
--output=
出力ベース名を指定します。
各 SDK の種類では、この基本名を使用して、その特定の出力ファイルを決定します。 詳細については、上記の SDK 固有のドキュメントを参照してください。
既定値は vcpkg-export-<date>-<time> です。
exportのスクリプト化された使用では、決定論的な出力を確保するために、常にこのフラグを渡す必要があります。
--output-dir=
出力ディレクトリを指定します。
すべての最上位 SDK ファイルがこのディレクトリに生成されます。 このオプションはマニフェスト モードで必要です。 クラシック モードでは、これは省略可能であり、既定では vcpkg ルート ディレクトリになります。
vcpkg