問題タブ [cpack]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
background-image - CMake を使用して DMG インストールの背景画像を構成できない
Mac OS X 10.7.5 で CMake 2.8.10.2 を使用しています。
空のウィンドウを作成する Xcode を使用して単純なアプリケーションを構築するように CMake を構成しました。次に、以下を使用して背景画像を指定するプログラムの DMG インストールをビルドするように CMake を構成しようとしました。
set(CPACK_DMG_BACKGROUND_IMAGE /path/to/image)
カスタム .DS_Store を使用して、ウィンドウのサイズとアイコンの配置を設定します。
set(CPACK_DMG_DS_STORE /path/to/DS_Store ファイル)
Xcode はアプリケーションを正常にビルドし、ディスク イメージを作成します。画像をマウントすると、正しいサイズとアイコンの配置が表示されますが、背景は指定された背景画像ではなく常に白に設定されます。
ディスク イメージで背景を適切に表示するには何が必要ですか?
cmake - ファイルをコピーして CPack アーカイブに含める
CMake
そのため、実行時にファイル (およびディレクトリ) をコピーする方法は多数あります ( file(COPY ...)
、configure_file(...)
およびadd_custom_command()
すべての作業*) が、ソースからビルド ディレクトリにコピーされたファイルまたはディレクトリを、生成されたアーカイブに表示する方法をまだ見つけていません。 CPackによる。私は、このSOの答えはそれを修正すると思います.実際にはコピーをターゲットにリンクし、インストールがリンクされます:
file()
一方、コマンドとconfigure_file()
コマンドをターゲットに追加する明らかな方法がないことは認識していました。しかし、これはうまくいきませんでした。では、以下のような単純な CMakeLists.txt が与えられた場合、すべてのファイル (exmaple
ディレクトリを含む) をアーカイブに表示するにはどうすればよいでしょうか?!
* これら 3 つの方法のうちどれが実際に (最も?) 正しいかはまだわかっていません。そのため、これに関するアドバイスも大歓迎です。
boost - Debian パッケージで複数の Boost バージョンをサポートする
私のプロジェクト用に debian パッケージを作成しようとしていますが、ブースト バージョンのサポートに関する問題が発生しています。
私は確かにこの質問を見てきました。似ていますが、提供されているソリューション (Build-Depends) は、バイナリ インストーラーを作成しているため、実際には適用できません。
基本的に、インストールしたライブラリと実行可能ファイルは、シンボリック リンク ライブラリ libboost_(component).so ではなく、常に libboost_(component).so.1.46 にリンクします。私のdebianインストーラーを、私の正確なブーストバージョンを持つ人々だけが使用できるようにします。CPack を使用して debian パッケージを作成しています。依存関係の行は次のようになります。
上記のプラットフォームまたはそのプラットフォームのブースト バージョンで、プラットフォームごとに個別のインストーラーをビルドする必要がありますか?
windows - cmake で .msi インストーラを生成するには?
.msi
でインストーラーを生成しようとしていcmake
ます。.dll
でいくつかの構成を使用して.lib
ファイルを生成できますCMakeLists.txt
。インストーラーCMakeLists.txt
を生成する例を提供してください。.msi
コマンド プロンプトで使用する必要があるコマンドは何ですか?
これまでに使用しているコマンドは次のとおりです。
次の構成を使用して、.dll
および.lib
ファイルを生成しました。
これが私のものCMakeLists.txt
です:
c++ - cpack で正しいスタート メニューのショートカットを生成する方法
cmake と cpack を使用して、Windows でいくつかのプログラムのインストーラーを作成したいと考えています。インストールするプログラムを選択できるようにしたいのですが、選択したプログラムがショートカットとしてスタート メニューに表示されます。これは簡単な試みです。プログラムごとに 1 つのコンポーネントを作成しましたが、スタート メニュー変数を生成する方法がわかりません。インストールするように選択されていない場合でも、すべてのプログラムが常にメニューに表示されるようになりました。まず、インストールする簡単なプログラムです。
ここに CMakeLists.txt ファイルがあります
問題は、インストールで選択されたプログラムに応じてスタート メニューのショートカットを生成することです。簡単だと思っていましたが、そうではないようです。これを行うことは可能ですか?
更新: http://www.cmake.org/Wiki/CMake:Component_Install_With_CPackのどの例でもスタート メニューのショートカットが生成されていないことがわかりました。
c++ - CMake / CPack: MacOS でのサードパーティ ライブラリの場所
マルチプラットフォームの C++ GUI プロジェクトに取り組んでいます。boost
一部のサードパーティ ライブラリ ( 、など)に依存しておりfftw
、これらも配信およびインストールされるため、ユーザーが追加のコンポーネントをダウンロードする必要はありません。
現在、MacOS ビルド用にアプリ バンドルが生成されています ( MyProject.app
)。PackageMaker
CPack
パッケージ ジェネレーターを使用しています。必要なすべてのサードパーティの依存関係が の下にインストールされMyProject.app/Contents/Frameworks
ます。
最近、インストーラーに含めたい一連のコマンド ライン ツールが完成しました。そのため、新しいコマンド ライン ユーティリティを含むバンドルをMyProject.app
フォルダー (たとえば ) にインストールします。Tools
さらに興味深いことに、アプリケーション バンドルはいくつかの gui およびコア コンポーネントで構成され、各コンポーネントとツールを異なるCMake
プロジェクトとして表します (つまり、次のCMake
コマンドを使用します: project(gui_components)
、project(core_components)
およびproject(tools)
)。私たちのツールはコア コンポーネントに依存していますが、GUI コンポーネントには依存していません。
基本的に、次のフォルダー構造が必要です。
CMake
/CPack
にサードパーティの依存関係 (この例ではlibboost_regex
とlibfftw
) をlib
フォルダーにインストールするように指示するにはどうすればよいですか? それらはまだ の下にインストールされていMyProject.app/Contents/Frameworks
ます。私たちはすでに独自のフォルダをフォルダにインストールすることができlibgui_components
ましlibcore_components
たlib
。