容易包含cmake中库依赖的头文件

时间:2012-07-18 21:15:54

标签: c++ cmake include-path

我正在为C ++存储库尝试使用CMake,但是我遇到了一些麻烦,试图在相同的源代码树中构建针对库的应用程序很容易,而没有大量额外的CMake代码。

源树的布局基本如下:

ROOT
    libs/
         lib1/
         lib2/
         lib3/
    apps/
         app1/
         app2/
         app3/

这些库彼此独立,应用程序可以链接到一个或多个库。

目前我有一个根CMakeLists.txt,它将每个应用程序和库列为子目录,这样如果更改了库并重建了应用程序,那么库也是如此。这样工作正常,CMake链接它,而不必指定库所在的位置,但我没有看到为包含目录做类似事情的方法。

有没有一种常用的方法来处理这个问题?我不希望每个应用程序的CMakeLists.txt都必须手动列出所需库的路径。

1 个答案:

答案 0 :(得分:1)

如果您不害怕提供比每个应用程序实际需要的更多标头,您可以在INCLUDE_DIRECTORIES语句中列出所有lib目录,例如在CMakeListst.txt中添加所有应用程序子列表。但是没有这样的概念来管理“归属”,包括每个目标内置的文件夹。