cmake
プロジェクトのパッケージ化と配布
サーチ…
構文
- #ビルドディレクトリをパッケージ化する
パック[PATH] - #特定の発電機を使用する
cpack -G [GENERATOR] [PATH] - #オプションのオーバーライドを指定する
- cパッケージ-G [生成プログラム] -C [構成] -P [パッケージ名] -R [パッケージバージョン] -B [パッケージディレクトリ] - ベンダー[パッケージベンダー]
備考
CPackは、 CMakeLists.txt
ファイルやinstall_targets()
などの利用されているインストールコマンドからすべての必要なデータを直接収集することで、構築されたCMakeプロジェクトの高速パッケージ化を可能にする外部ツールです。
CPackが正常に動作するためには、 CMakeLists.txt
は、 install
ビルドターゲットを使用してinstall
するファイルまたはターゲットが含まれている必要があります。
最小限のスクリプトは次のようになります。
# Required headers
cmake(3.0)
# Basic project setup
project(my-tool)
# Define a buildable target
add_executable(tool main.cpp)
# Provide installation instructions
install_targets(tool DESTINATION bin)
ビルドされたCMakeプロジェクト用のパッケージを作成する
再配布可能なパッケージ(ZIPアーカイブやセットアッププログラムなど)を作成するには、通常はCMakeを呼び出すのと非常によく似た構文を使ってCPackを呼び出すだけで十分です:
cpack path/to/build/directory
環境に応じて、プロジェクトに必要な/インストールされているすべてのファイルが収集され、圧縮されたアーカイブまたは自己解凍インストーラに格納されます。
使用するCPackジェネレータの選択
特定のフォーマットを使用してパッケージを作成するには、使用するGeneratorを選択することができます。
CMakeと同様に、これは-G引数を使って行うことができます:
cpack -G 7Z .
このコマンドラインを使用すると、7-Zipアーカイブ形式を使用して、現在のディレクトリにビルドされたプロジェクトがパッケージ化されます。
執筆時点では、CPackバージョン3.5はデフォルトで以下のジェネレータをサポートしています:
-
7Z
7-Zipファイル形式(アーカイブ) -
IFW
Qtインストーラフレームワーク(実行可能ファイル) -
NSIS
Nullソフトインストーラ(実行可能ファイル) -
NSIS64
ヌルソフトインストーラ(64ビット、実行可能ファイル) -
STGZ
自己解凍Tar GZip圧縮(アーカイブ) -
TBZ2
Tar BZip2圧縮(アーカイブ) -
TGZ
Tar GZip圧縮(アーカイブ) -
TXZ
Tar XZ圧縮(アーカイブ) -
TZ
Tar圧縮圧縮(アーカイブ) - WiXツール(実行可能なアーカイブ)経由の
WIX
MSIファイル形式 -
ZIP
ZIPファイル形式(アーカイブ)
明示的なジェネレータが提供されない場合、CPackは実際の環境に応じて利用可能な最良のものを決定しようとします。たとえば、Windows上で自己解凍形式の実行可能ファイルを作成し、適切なツールセットが見つからない場合にのみZIPアーカイブを作成することをお勧めします。
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow