Git和CMake项目结构,外部库和包

问题描述 投票:0回答:2

我对CMake项目和Git都比较缺乏经验。

如果我使用外部库,例如对于我的JsonCpp和OpenVR,将软件包/库放在我的项目结构中并将其与我自己的东西一起推送到我的Git存储库中是一种不好的方法吗?

之所以这样做,是因为我想让将来的用户更轻松,因此他们不必下载这些库并将安装目录自己添加到CMAKE_PREFIX_PATH。

感谢您的帮助。

git cmake libraries project-structure
2个回答
0
投票

将软件包/库放置在我的项目结构中并将其与我自己的东西一起推送到我的Git存储库中是不好的方法吗?

是,是。

之所以这样做,是因为我想让将来的用户更轻松,因此他们不必下载这些库并将安装目录自己添加到CMAKE_PREFIX_PATH。

只有确保用户将在相同的OS / arch上运行它们,您才能这样做。如果这些库使用其他系统库,则还必须确保它们在用户系统上存在并且具有兼容的版本。

一般来说,这很不可靠,通常的做法是分别分发依赖项,并在配置阶段搜索它们。


0
投票

您需要一些依赖管理器。对于C ++,Connan非常不错。或者,您可以使用maven

[cmake也对此ExternalProject有一些解决方案。

我从未配置过任何一个,但是我一直在使用Conan和Maven(其他人设置了所有东西。

还有其他工具,您只需要选择一个即可。

© www.soinside.com 2019 - 2024. All rights reserved.