1. 应该首先试图使用 `find_package`,避免上来就 vendoring,防止 TwoBot 库与上层应用程序的依赖冲突。 2. 如果 `find_package` 寻找依赖失败,应该使用 `FetchContent_Declare(some_dep OVERRIDE_FIND_PACKAGE)` 方式来 vendor 依赖,避免使用 git submodule。 3. 同时提供 options 使 TwoBot 强制 vendor 依赖而不是 `find_package`。这是为了应对系统或包管理器中的依赖有问题(如版本过老)而做的,在这种情况下用户可通过 options 让 TwoBot 自己 vendor 依赖。
find_package,避免上来就 vendoring,防止 TwoBot 库与上层应用程序的依赖冲突。find_package寻找依赖失败,应该使用FetchContent_Declare(some_dep OVERRIDE_FIND_PACKAGE)方式来 vendor 依赖,避免使用 git submodule。find_package。这是为了应对系统或包管理器中的依赖有问题(如版本过老)而做的,在这种情况下用户可通过 options 让 TwoBot 自己 vendor 依赖。