6

私はかなりの数の実行可能ファイル、ライブラリ、構成を生成するプロジェクトに取り組んでいます。それらは展開のために異なるパッケージにパックする必要があります。問題は、これらのターゲット/ファイルを含めることは相互に排他的ではないということです。1つのターゲット/ファイルは複数のパッケージに属することができます。

私はCMake2.8.9を使用していて、CPackを試しています。インストールタイプで実行できることはわかっています。しかし、私のプラットフォームはUbuntuなので、アーカイブ/デブは受け入れ可能であり、それらはそれをサポートしていないようです。

コンポーネント/グループ/親グループでは、1つのターゲット/ファイルを1つのコンポーネント/グループにパックすることしかできないようです。

これから抜け出す方法はありますか?

ありがとう

4

2 に答える 2

6

コンポーネントを使用してみませんか?私がそれを正しく理解した場合、あなたはあなたのプロジェクトから複数のデブを生成したいと思うでしょう。

私はこのようにそれを達成しています:

SET(CPACK_DEB_COMPONENT_INSTALL 1)

INSTALL(TARGETS buildA DESTINATION lib/myproj COMPONENT main)
INSTALL(TARGETS buildB DESTINATION include/myproj COMPONENT dev)

呼び出すとmake package、接尾辞が付いた2つのdebが表示され、INSTALL()ステートメントで指定したものだけが含まれます。maindev

于 2012-11-27T14:06:24.743 に答える
4

まあ、後から来た人の便宜のために自分で答えます: CMake メールリストから、私は答えを得ました: cmake 2.8.9 以前 (これまでのところ) で、異なるコンポーネント設定で CPack を複数回実行します。それは少しアドホックですが、仕事をします。

于 2012-11-12T06:24:20.880 に答える