CMake / CPack:MacOS中第三方库的位置

时间:2013-12-04 02:10:11

标签: c++ macos cmake cpack

我们正在开发一个多平台的C ++ GUI项目。我们依赖于某些第三方库(例如boostfftw等),这些也可以交付和安装,因此我们的用户无需下载额外的组件。

目前,对于MacOS构建,会生成一个应用包(MyProject.app)。我们正在使用PackageMaker CPack包生成器。所有需要的第三方依赖项都在MyProject.app/Contents/Frameworks下进行了。{/ p>

我们最近完成了一套命令行工具,我们希望在安装程序中包含这些工具。因此,我们将在一个文件夹(例如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 / CPacklibboost_regex文件夹中安装第三方依赖项(在此示例中为libfftwlib)?它们仍在MyProject.app/Contents/Frameworks下安装。我们已设法在libgui_components文件夹中安装自己的libcore_componentslib

0 个答案:

没有答案