4

マルチプラットフォームの 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_regexlibfftw) をlibフォルダーにインストールするように指示するにはどうすればよいですか? それらはまだ の下にインストールされていMyProject.app/Contents/Frameworksます。私たちはすでに独自のフォルダをフォルダにインストールすることができlibgui_componentsましlibcore_componentslib

4

0 に答える 0