マルチプラットフォームの 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 コンポーネントには依存していません。
基本的に、次のフォルダー構造が必要です。
<install folder>
|
|--MyProject.app
| |
| |--<all MacOS bundle needed folders/files>
|
|--Tools/
| |
| |--ToolA
| |--ToolB
|
|--lib/
|
|--libboost_regex
|--libfftw
|--libgui_components
|--libcore_components
CMake/CPackにサードパーティの依存関係 (この例ではlibboost_regexとlibfftw) をlibフォルダーにインストールするように指示するにはどうすればよいですか? それらはまだ の下にインストールされていMyProject.app/Contents/Frameworksます。私たちはすでに独自のフォルダをフォルダにインストールすることができlibgui_componentsましlibcore_componentsたlib。