問題タブ [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。