我正在为 C++ 存储库尝试 CMake,但我遇到了一些麻烦,试图在没有大量额外 CMake 代码的情况下轻松地针对同一源树中的库构建应用程序。
源码树的布局基本如下:
ROOT
libs/
lib1/
lib2/
lib3/
apps/
app1/
app2/
app3/
这些库相互独立,并且应用程序可以链接到一个或多个库。
目前,我有一个根 CMakeLists.txt,它列出了每个应用程序和库作为子目录,以便如果库被更改并且应用程序被重建,那么库也是如此。这工作正常,CMake 将其链接,而无需我指定库所在的位置,但我看不到为包含目录执行类似操作的方法。
有没有通用的方法来处理这个?我不希望每个应用程序的 CMakeLists.txt 都必须手动列出它需要的库的路径。