在CMake项目中提供第三方依赖关系 基于CMAIL的C++项目使用第三方库。这取决于是否安装了此库。我希望以某种方式将第三方库包括或添加到我的项目中。如何实现这一点?

在CMake项目中提供第三方依赖关系 基于CMAIL的C++项目使用第三方库。这取决于是否安装了此库。我希望以某种方式将第三方库包括或添加到我的项目中。如何实现这一点?,cmake,Cmake,对于源代码提供的外部项目,请使用CMake的外部项目,参见 有了它,您可以自动下载和编译外部项目。然后,您可以像使用内部库一样使用它们,如果愿意,您可以将它们与库一起安装。根据许可证,您也可以添加已编译的库。因此,您的用户不需要自己编译,这可以节省很多麻烦。“这有效吗?”这取决于许多问题。其中,许可和维护是最大的两个。您的项目与第三方库之间的许可证是否匹配或兼容?或者你有许可证在你的项目中包含这个库吗?您将如何处理第三方库的维护、更新和修补程序?请使用conan或其他软件包管理器安装库并在您的b

对于源代码提供的外部项目,请使用CMake的外部项目,参见

有了它,您可以自动下载和编译外部项目。然后,您可以像使用内部库一样使用它们,如果愿意,您可以将它们与库一起安装。

根据许可证,您也可以添加已编译的库。因此,您的用户不需要自己编译,这可以节省很多麻烦。

“这有效吗?”这取决于许多问题。其中,许可和维护是最大的两个。您的项目与第三方库之间的许可证是否匹配或兼容?或者你有许可证在你的项目中包含这个库吗?您将如何处理第三方库的维护、更新和修补程序?请使用conan或其他软件包管理器安装库并在您的build pipelineQuestion标题与问题内容不匹配。“如何使项目可移植”甚至比“如何使用第三方库”更为宽泛。在这两种情况下都没有通用的解决方案。如果便携意味着多平台(如macos、linux、android、windows)在一些主要平台提供捆绑包的情况下也不那么糟糕,那就糟糕了。我知道有多个开源应用程序以这种方式工作,例如cmake。