如何制作可部署的软件,该软件使用没有与CMake一起使用apt-get选项的库

时间:2012-12-31 22:50:35

标签: cmake static-libraries static-linking

我写了一个在我自己的盒子上运行良好的软件。然而,将它放到另一个盒子上却很头疼。

主要问题是它使用的库不是apt-get所涵盖的库;它被称为pngwriter。 pngwriter也非常挑剔,而且安装起来也不是很容易。它还有版本兼容性问题。为了解决所有这些问题,我认为将pngwriter的源代码包含在我的项目中会很棒,然后让CMake继续使用其余的代码编写pngwriter。

所以我的主要问题是:这种类型的部署是否正常? CMake应该调用软件开发人员已编写的makefile,然后在本地使用FIND_PACKAGE,还是需要重写所有makefile以便我可以使用ADD_LIBRARY

1 个答案:

答案 0 :(得分:1)

我建议使用ExternalProject_Add功能。

文档没问题,但有一个decent article可以更详细地解释一下。从这篇文章:

  

ExternalProject_Add功能可以说“从互联网下载此项目,运行其配置步骤,构建并安装”

请记住,您可以完全跳过安装步骤,也可以选择安装到您自己的构建目录中的某个位置。